)]}'
{"nova/tests/functional/test_servers.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"338a8021f926ffca589dc4b49de8a03bd4742f0a","unresolved":false,"context_lines":[{"line_number":867,"context_line":"        self._delete_server(server_id)"},{"line_number":868,"context_line":""},{"line_number":869,"context_line":""},{"line_number":870,"context_line":"class ImagesTest(ServersTestBase):"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"    def test_create_images_negative_invalid_state(self):"},{"line_number":873,"context_line":"        # Create server"},{"line_number":874,"context_line":"        server \u003d self._build_minimal_create_server_request()"},{"line_number":875,"context_line":"        created_server \u003d self.api.post_server({\"server\": server})"},{"line_number":876,"context_line":"        server_id \u003d created_server[\u0027id\u0027]"},{"line_number":877,"context_line":"        found_server \u003d self._wait_for_state_change(created_server, \u0027BUILD\u0027)"},{"line_number":878,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":879,"context_line":""},{"line_number":880,"context_line":"        # Create image"},{"line_number":881,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":882,"context_line":"        self.api.post_server_action("},{"line_number":883,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":884,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":885,"context_line":"        # Confirm that the image was created"},{"line_number":886,"context_line":"        images \u003d self.api.get_images(detail\u003dFalse)"},{"line_number":887,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":888,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":889,"context_line":"        self.assertTrue(found_image)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"        # Change server status from ACTIVE to SHELVED for negative test"},{"line_number":892,"context_line":"        self.flags(shelved_offload_time \u003d -1)"},{"line_number":893,"context_line":"        self.api.post_server_action(server_id, {\u0027shelve\u0027: {}})"},{"line_number":894,"context_line":"        found_server \u003d self._wait_for_state_change(found_server, \u0027ACTIVE\u0027)"},{"line_number":895,"context_line":"        self.assertEqual(\u0027SHELVED\u0027, found_server[\u0027status\u0027])"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"        # Create image in SHELVED (not ACTIVE, etc.)"},{"line_number":898,"context_line":"        name \u003d \u0027Snapshot 2\u0027"},{"line_number":899,"context_line":"        ex \u003d self.assertRaises(client.OpenStackApiException,"},{"line_number":900,"context_line":"                               self.api.post_server_action,"},{"line_number":901,"context_line":"                               server_id,"},{"line_number":902,"context_line":"                               {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":903,"context_line":"        self.assertEqual(409, ex.response.status_code)"},{"line_number":904,"context_line":"        self.assertEqual(\u0027SHELVED\u0027, found_server[\u0027status\u0027])"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"        # Confirm that the image was not created"},{"line_number":907,"context_line":"        images \u003d self.api.get_images(detail\u003dFalse)"},{"line_number":908,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":909,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":910,"context_line":"        self.assertFalse(found_image)"},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"        # Cleanup"},{"line_number":913,"context_line":"        self._delete_server(server_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da4df55a_35ba6624","line":913,"range":{"start_line":870,"start_character":0,"end_line":913,"end_character":38},"updated":"2016-12-22 19:29:53.000000000","message":"I could be convinced otherwise, but I think this should go into a separate file as it doesn\u0027t really deal with the operation of the server itself. Perhaps test_images.py?","commit_id":"2d9a5eb9628873b0dafd16b882b0576df07fb8f0"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"db52ad75054634d9b7c92a7c5b210e0c80145bd7","unresolved":false,"context_lines":[{"line_number":867,"context_line":"        self._delete_server(server_id)"},{"line_number":868,"context_line":""},{"line_number":869,"context_line":""},{"line_number":870,"context_line":"class ImagesTest(ServersTestBase):"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"    def test_create_images_negative_invalid_state(self):"},{"line_number":873,"context_line":"        # Create server"},{"line_number":874,"context_line":"        server \u003d self._build_minimal_create_server_request()"},{"line_number":875,"context_line":"        created_server \u003d self.api.post_server({\"server\": server})"},{"line_number":876,"context_line":"        server_id \u003d created_server[\u0027id\u0027]"},{"line_number":877,"context_line":"        found_server \u003d self._wait_for_state_change(created_server, \u0027BUILD\u0027)"},{"line_number":878,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":879,"context_line":""},{"line_number":880,"context_line":"        # Create image"},{"line_number":881,"context_line":"        name \u003d \u0027Snapshot 1\u0027"},{"line_number":882,"context_line":"        self.api.post_server_action("},{"line_number":883,"context_line":"            server_id, {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":884,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":885,"context_line":"        # Confirm that the image was created"},{"line_number":886,"context_line":"        images \u003d self.api.get_images(detail\u003dFalse)"},{"line_number":887,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":888,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":889,"context_line":"        self.assertTrue(found_image)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"        # Change server status from ACTIVE to SHELVED for negative test"},{"line_number":892,"context_line":"        self.flags(shelved_offload_time \u003d -1)"},{"line_number":893,"context_line":"        self.api.post_server_action(server_id, {\u0027shelve\u0027: {}})"},{"line_number":894,"context_line":"        found_server \u003d self._wait_for_state_change(found_server, \u0027ACTIVE\u0027)"},{"line_number":895,"context_line":"        self.assertEqual(\u0027SHELVED\u0027, found_server[\u0027status\u0027])"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"        # Create image in SHELVED (not ACTIVE, etc.)"},{"line_number":898,"context_line":"        name \u003d \u0027Snapshot 2\u0027"},{"line_number":899,"context_line":"        ex \u003d self.assertRaises(client.OpenStackApiException,"},{"line_number":900,"context_line":"                               self.api.post_server_action,"},{"line_number":901,"context_line":"                               server_id,"},{"line_number":902,"context_line":"                               {\u0027createImage\u0027: {\u0027name\u0027: name}})"},{"line_number":903,"context_line":"        self.assertEqual(409, ex.response.status_code)"},{"line_number":904,"context_line":"        self.assertEqual(\u0027SHELVED\u0027, found_server[\u0027status\u0027])"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"        # Confirm that the image was not created"},{"line_number":907,"context_line":"        images \u003d self.api.get_images(detail\u003dFalse)"},{"line_number":908,"context_line":"        image_map \u003d {image[\u0027name\u0027]: image for image in images}"},{"line_number":909,"context_line":"        found_image \u003d image_map.get(name)"},{"line_number":910,"context_line":"        self.assertFalse(found_image)"},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"        # Cleanup"},{"line_number":913,"context_line":"        self._delete_server(server_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da4df55a_9f55ac51","line":913,"range":{"start_line":870,"start_character":0,"end_line":913,"end_character":38},"in_reply_to":"da4df55a_35ba6624","updated":"2016-12-26 05:20:44.000000000","message":"Done","commit_id":"2d9a5eb9628873b0dafd16b882b0576df07fb8f0"}]}
