)]}'
{"tempest/api/compute/v3/images/test_images_negative.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f11cd8658b8f365e867278ac908620640464da7f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                          server[\u0027id\u0027], name, meta)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":59,"context_line":"    def test_create_image_from_invalid_server(self):"},{"line_number":60,"context_line":"        # An image should not be created with invalid server id"},{"line_number":61,"context_line":"        # Create a new image with invalid server id"},{"line_number":62,"context_line":"        name \u003d data_utils.rand_name(\u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2FpKc%3D","line":59,"updated":"2014-02-25 14:09:41.000000000","message":"s/invalid/nonexistent/ because the exception is NotFound.","commit_id":"356d5e866f61a8f686d061d30f43496b1bab55e3"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"7ddc56a2715365939da513feee097db857c17fdf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                          server[\u0027id\u0027], name, meta)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":59,"context_line":"    def test_create_image_from_invalid_server(self):"},{"line_number":60,"context_line":"        # An image should not be created with invalid server id"},{"line_number":61,"context_line":"        # Create a new image with invalid server id"},{"line_number":62,"context_line":"        name \u003d data_utils.rand_name(\u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2F9Fo%3D","line":59,"in_reply_to":"AAAAU3%2F%2FpKc%3D","updated":"2014-02-27 06:36:43.000000000","message":"That\u0027s right, I\u0027ll modify so in the next patch.","commit_id":"356d5e866f61a8f686d061d30f43496b1bab55e3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f11cd8658b8f365e867278ac908620640464da7f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        resp \u003d {}"},{"line_number":65,"context_line":"        resp[\u0027status\u0027] \u003d None"},{"line_number":66,"context_line":"        self.assertRaises(exceptions.NotFound, self.__create_image__,"},{"line_number":67,"context_line":"                          \u0027!@#$%^\u0026*()\u0027, name, meta)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":70,"context_line":"    def test_create_image_from_stopped_server(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2FpJI%3D","line":67,"updated":"2014-02-25 14:09:41.000000000","message":"I know this is due to original code, but better to use data_utils.rand_uuid() instead of static value \u0027!@#...\u0027.","commit_id":"356d5e866f61a8f686d061d30f43496b1bab55e3"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"7ddc56a2715365939da513feee097db857c17fdf","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        resp \u003d {}"},{"line_number":65,"context_line":"        resp[\u0027status\u0027] \u003d None"},{"line_number":66,"context_line":"        self.assertRaises(exceptions.NotFound, self.__create_image__,"},{"line_number":67,"context_line":"                          \u0027!@#$%^\u0026*()\u0027, name, meta)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":70,"context_line":"    def test_create_image_from_stopped_server(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2F9FE%3D","line":67,"in_reply_to":"AAAAU3%2F%2FpJI%3D","updated":"2014-02-27 06:36:43.000000000","message":"OK, I\u0027ll do so in the next patch. I\u0027m glad that you understand me.","commit_id":"356d5e866f61a8f686d061d30f43496b1bab55e3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e70e8743571455663eb3b1cb0474c726bfa789a1","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        name \u003d data_utils.rand_name(\u0027image\u0027)"},{"line_number":64,"context_line":"        meta \u003d {\u0027image_type\u0027: \u0027test\u0027}"},{"line_number":65,"context_line":"        resp \u003d {}"},{"line_number":66,"context_line":"        resp[\u0027status\u0027] \u003d None"},{"line_number":67,"context_line":"        self.assertRaises(exceptions.NotFound, self.__create_image__,"},{"line_number":68,"context_line":"                          nonexistent_server_id, name, meta)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2F%2BmM%3D","line":66,"updated":"2014-03-03 01:56:32.000000000","message":"This resp is not used. better to remove it.","commit_id":"0681a620f396361fc54d067c8c0ca75e11474ea8"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"2663f453ab6b7eafe871504dc3f4c7499687b6d7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        name \u003d data_utils.rand_name(\u0027image\u0027)"},{"line_number":64,"context_line":"        meta \u003d {\u0027image_type\u0027: \u0027test\u0027}"},{"line_number":65,"context_line":"        resp \u003d {}"},{"line_number":66,"context_line":"        resp[\u0027status\u0027] \u003d None"},{"line_number":67,"context_line":"        self.assertRaises(exceptions.NotFound, self.__create_image__,"},{"line_number":68,"context_line":"                          nonexistent_server_id, name, meta)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2F%2BXI%3D","line":66,"in_reply_to":"AAAAVn%2F%2F%2BmM%3D","updated":"2014-03-03 03:00:27.000000000","message":"Done","commit_id":"0681a620f396361fc54d067c8c0ca75e11474ea8"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e70e8743571455663eb3b1cb0474c726bfa789a1","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                          nonexistent_server_id, name, meta)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":71,"context_line":"    def test_create_image_from_stopped_server(self):"},{"line_number":72,"context_line":"        resp, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":73,"context_line":"        self.servers_client.stop(server[\u0027id\u0027])"},{"line_number":74,"context_line":"        self.servers_client.wait_for_server_status(server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2F%2Blw%3D","line":71,"updated":"2014-03-03 01:56:32.000000000","message":"I don\u0027t think this is a negative test because any exception does not happen and there is not any negative factor.","commit_id":"0681a620f396361fc54d067c8c0ca75e11474ea8"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"2663f453ab6b7eafe871504dc3f4c7499687b6d7","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                          nonexistent_server_id, name, meta)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":71,"context_line":"    def test_create_image_from_stopped_server(self):"},{"line_number":72,"context_line":"        resp, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":73,"context_line":"        self.servers_client.stop(server[\u0027id\u0027])"},{"line_number":74,"context_line":"        self.servers_client.wait_for_server_status(server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2F%2BXE%3D","line":71,"in_reply_to":"AAAAVn%2F%2F%2Blw%3D","updated":"2014-03-03 03:00:27.000000000","message":"Done","commit_id":"0681a620f396361fc54d067c8c0ca75e11474ea8"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"71849bf8607cee413b8c78c478b678430722f980","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ImagesNegativeV3Test(base.BaseV3ComputeTest):"},{"line_number":25,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def setUpClass(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2F9EA%3D","line":25,"updated":"2014-03-03 07:56:03.000000000","message":"class BaseV3ComputeTest already has _interface.\n\nSee commit https://review.openstack.org/#/c/75415/\n\nSame in second file.","commit_id":"bf7c836a901f7ece7dec39e774a09c602968f97f"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"0015bb185b6866c4825726e6b59bba0f42f0d29b","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ImagesNegativeV3Test(base.BaseV3ComputeTest):"},{"line_number":25,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def setUpClass(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2F0ZI%3D","line":25,"in_reply_to":"AAAAVn%2F%2F9EA%3D","updated":"2014-03-04 01:45:52.000000000","message":"Done","commit_id":"bf7c836a901f7ece7dec39e774a09c602968f97f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"71849bf8607cee413b8c78c478b678430722f980","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            skip_msg \u003d (\"%s skipped as glance is not available\" % cls.__name__)"},{"line_number":32,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":33,"context_line":"        cls.client \u003d cls.images_client"},{"line_number":34,"context_line":"        cls.servers_client \u003d cls.servers_client"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __create_image__(self, server_id, name, meta\u003dNone):"},{"line_number":37,"context_line":"        resp, body \u003d self.servers_client.create_image(server_id, name, meta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2F9Ds%3D","line":34,"updated":"2014-03-03 07:56:03.000000000","message":"What purpose of this reassigning?","commit_id":"bf7c836a901f7ece7dec39e774a09c602968f97f"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"0015bb185b6866c4825726e6b59bba0f42f0d29b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            skip_msg \u003d (\"%s skipped as glance is not available\" % cls.__name__)"},{"line_number":32,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":33,"context_line":"        cls.client \u003d cls.images_client"},{"line_number":34,"context_line":"        cls.servers_client \u003d cls.servers_client"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __create_image__(self, server_id, name, meta\u003dNone):"},{"line_number":37,"context_line":"        resp, body \u003d self.servers_client.create_image(server_id, name, meta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2Fzfk%3D","line":34,"in_reply_to":"AAAAVn%2F%2F9Ds%3D","updated":"2014-03-04 01:45:52.000000000","message":"left cls.servers_client is ImagesNegativeV3Test class\u0027s.\nright cls.servers_client is tempest.api.compute.base.BaseV3ComputeTest class\u0027s.\nI think there is no problem.","commit_id":"bf7c836a901f7ece7dec39e774a09c602968f97f"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"13b272559960b480e67dbea284a5e871651e6917","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            skip_msg \u003d (\"%s skipped as glance is not available\" % cls.__name__)"},{"line_number":32,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":33,"context_line":"        cls.client \u003d cls.images_client"},{"line_number":34,"context_line":"        cls.servers_client \u003d cls.servers_client"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __create_image__(self, server_id, name, meta\u003dNone):"},{"line_number":37,"context_line":"        resp, body \u003d self.servers_client.create_image(server_id, name, meta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2FvgQ%3D","line":34,"in_reply_to":"AAAAVn%2F%2FxSI%3D","updated":"2014-03-04 11:02:41.000000000","message":"Done","commit_id":"bf7c836a901f7ece7dec39e774a09c602968f97f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"fcdf1998169e4f05759249e3e9a4134e936a8f79","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            skip_msg \u003d (\"%s skipped as glance is not available\" % cls.__name__)"},{"line_number":32,"context_line":"            raise cls.skipException(skip_msg)"},{"line_number":33,"context_line":"        cls.client \u003d cls.images_client"},{"line_number":34,"context_line":"        cls.servers_client \u003d cls.servers_client"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __create_image__(self, server_id, name, meta\u003dNone):"},{"line_number":37,"context_line":"        resp, body \u003d self.servers_client.create_image(server_id, name, meta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2FxSI%3D","line":34,"in_reply_to":"AAAAVn%2F%2Fzfk%3D","updated":"2014-03-04 07:41:57.000000000","message":"It is the same.\n\n\"servers_client\" of tempest.api.compute.base.BaseV3ComputeTest can be called with \"super\".\n\nMoreover, value of this attr remains the same, even if we use here parent\u0027s attr.\n\nSo, this string just redundant.\n\nSame for tempest/api/compute/v3/images/test_images.py","commit_id":"bf7c836a901f7ece7dec39e774a09c602968f97f"}]}
