)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"14f2ca84ddb752dfe256896113f3998065cfed9e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"a new file test_virtual_interfaces_negative"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also changes line # 43, rand_name(#$%*\u0026^%) to uuid4() to get the invalid"},{"line_number":13,"context_line":"server ID in negative file."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Note: HACKING.rst"},{"line_number":16,"context_line":"The second requirement is that all negative tests must be added to a negative"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAATn%2F9qxg%3D","line":13,"updated":"2013-12-09 01:26:52.000000000","message":"There is not the above change in this patch.\nand I like the above change.","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":7039,"name":"Hoisaleshwara Madan V S","email":"hoisalvs@in.ibm.com","username":"Madan"},"change_message_id":"f48163d8e2b500efa05e4e8666fc67d3a470087a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"a new file test_virtual_interfaces_negative"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also changes line # 43, rand_name(#$%*\u0026^%) to uuid4() to get the invalid"},{"line_number":13,"context_line":"server ID in negative file."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Note: HACKING.rst"},{"line_number":16,"context_line":"The second requirement is that all negative tests must be added to a negative"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAATn%2F9qYo%3D","line":13,"in_reply_to":"AAAATn%2F9qxg%3D","updated":"2013-12-09 05:29:24.000000000","message":"Done","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"}],"tempest/api/compute/servers/test_virtual_interfaces_negative.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"d64cf7b381092bbf5804718c3d95593c63ca7808","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def setUpClass(cls):"},{"line_number":34,"context_line":"        super(VirtualInterfacesNegativeTestJSON, cls).setUpClass()"},{"line_number":35,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":36,"context_line":"        resp, server \u003d cls.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":37,"context_line":"        cls.server_id \u003d server[\u0027id\u0027]"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BE5Q%3D","line":35,"updated":"2013-12-02 19:51:55.000000000","message":"This server is not used so should not be created.","commit_id":"7e8ac281a4d2c4148076f5217abce370563626c1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"69d3a84751eeec233d219a7801b9eab9fdb73822","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest.api.compute import base"},{"line_number":19,"context_line":"from tempest.common.utils import data_utils"},{"line_number":20,"context_line":"from tempest import config"},{"line_number":21,"context_line":"from tempest import exceptions"},{"line_number":22,"context_line":"from tempest.test import attr"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F97Ls%3D","line":20,"updated":"2013-12-04 12:23:04.000000000","message":"This seems unnecessary.","commit_id":"6e43c21fbe29aecf6fd849890cfea8d55be0983f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"69d3a84751eeec233d219a7801b9eab9fdb73822","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class VirtualInterfacesNegativeTestJSON(base.BaseV2ComputeTest):"},{"line_number":26,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    CONF \u003d config.TempestConfig()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def setUpClass(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F97Lo%3D","line":28,"updated":"2013-12-04 12:23:04.000000000","message":"ditto","commit_id":"6e43c21fbe29aecf6fd849890cfea8d55be0983f"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"79df8cbe921b9e58d138bcfde09ef28524bcdb9e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest.api.compute import base"},{"line_number":19,"context_line":"from tempest.common.utils import data_utils"},{"line_number":20,"context_line":"from tempest import exceptions"},{"line_number":21,"context_line":"from tempest.test import attr"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VirtualInterfacesNegativeTestJSON(base.BaseV2ComputeTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F92Es%3D","line":21,"updated":"2013-12-05 10:21:51.000000000","message":"from tempest import attr\n\nwe should import module","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":7039,"name":"Hoisaleshwara Madan V S","email":"hoisalvs@in.ibm.com","username":"Madan"},"change_message_id":"f48163d8e2b500efa05e4e8666fc67d3a470087a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest.api.compute import base"},{"line_number":19,"context_line":"from tempest.common.utils import data_utils"},{"line_number":20,"context_line":"from tempest import exceptions"},{"line_number":21,"context_line":"from tempest.test import attr"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VirtualInterfacesNegativeTestJSON(base.BaseV2ComputeTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9qYw%3D","line":21,"in_reply_to":"AAAATn%2F92Es%3D","updated":"2013-12-09 05:29:24.000000000","message":"Done","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"14f2ca84ddb752dfe256896113f3998065cfed9e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest.api.compute import base"},{"line_number":19,"context_line":"from tempest.common.utils import data_utils"},{"line_number":20,"context_line":"from tempest import exceptions"},{"line_number":21,"context_line":"from tempest.test import attr"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VirtualInterfacesNegativeTestJSON(base.BaseV2ComputeTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9qxc%3D","line":21,"in_reply_to":"AAAATn%2F92Es%3D","updated":"2013-12-09 01:26:52.000000000","message":"Ivan\u0027s point would make the code clean, nice point.\nbut I don\u0027t have so strong opinion because of this patch scope.","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"79df8cbe921b9e58d138bcfde09ef28524bcdb9e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(VirtualInterfacesNegativeTestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":33,"context_line":"    def test_list_virtual_interfaces_invalid_server_id(self):"},{"line_number":34,"context_line":"        # Negative test: Should not be able to GET virtual interfaces"},{"line_number":35,"context_line":"        # for an invalid server_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F92EY%3D","line":32,"updated":"2013-12-05 10:21:51.000000000","message":"@test.attr","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":7039,"name":"Hoisaleshwara Madan V S","email":"hoisalvs@in.ibm.com","username":"Madan"},"change_message_id":"f48163d8e2b500efa05e4e8666fc67d3a470087a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(VirtualInterfacesNegativeTestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":33,"context_line":"    def test_list_virtual_interfaces_invalid_server_id(self):"},{"line_number":34,"context_line":"        # Negative test: Should not be able to GET virtual interfaces"},{"line_number":35,"context_line":"        # for an invalid server_id"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9qYs%3D","line":32,"in_reply_to":"AAAATn%2F92EY%3D","updated":"2013-12-09 05:29:24.000000000","message":"Done","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"14f2ca84ddb752dfe256896113f3998065cfed9e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_list_virtual_interfaces_invalid_server_id(self):"},{"line_number":34,"context_line":"        # Negative test: Should not be able to GET virtual interfaces"},{"line_number":35,"context_line":"        # for an invalid server_id"},{"line_number":36,"context_line":"        invalid_server_id \u003d data_utils.rand_name(\u0027!@#$%^\u0026*()\u0027)"},{"line_number":37,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":38,"context_line":"                          self.client.list_virtual_interfaces,"},{"line_number":39,"context_line":"                          invalid_server_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9qxY%3D","line":36,"updated":"2013-12-09 01:26:52.000000000","message":"Here should be uuid()?","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":7039,"name":"Hoisaleshwara Madan V S","email":"hoisalvs@in.ibm.com","username":"Madan"},"change_message_id":"f48163d8e2b500efa05e4e8666fc67d3a470087a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_list_virtual_interfaces_invalid_server_id(self):"},{"line_number":34,"context_line":"        # Negative test: Should not be able to GET virtual interfaces"},{"line_number":35,"context_line":"        # for an invalid server_id"},{"line_number":36,"context_line":"        invalid_server_id \u003d data_utils.rand_name(\u0027!@#$%^\u0026*()\u0027)"},{"line_number":37,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":38,"context_line":"                          self.client.list_virtual_interfaces,"},{"line_number":39,"context_line":"                          invalid_server_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F9qY0%3D","line":36,"in_reply_to":"AAAATn%2F9qxY%3D","updated":"2013-12-09 05:29:24.000000000","message":"Done","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"79df8cbe921b9e58d138bcfde09ef28524bcdb9e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        # for an invalid server_id"},{"line_number":36,"context_line":"        invalid_server_id \u003d data_utils.rand_name(\u0027!@#$%^\u0026*()\u0027)"},{"line_number":37,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":38,"context_line":"                          self.client.list_virtual_interfaces,"},{"line_number":39,"context_line":"                          invalid_server_id)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F92E4%3D","line":38,"updated":"2013-12-05 10:21:51.000000000","message":"just use self.servers_client then we can remove the setUpClass. it maybe better.","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"},{"author":{"_account_id":7039,"name":"Hoisaleshwara Madan V S","email":"hoisalvs@in.ibm.com","username":"Madan"},"change_message_id":"54246e71bab4a63463c69334f0af82f3cedb89d5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        # for an invalid server_id"},{"line_number":36,"context_line":"        invalid_server_id \u003d data_utils.rand_name(\u0027!@#$%^\u0026*()\u0027)"},{"line_number":37,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":38,"context_line":"                          self.client.list_virtual_interfaces,"},{"line_number":39,"context_line":"                          invalid_server_id)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F92CM%3D","line":38,"in_reply_to":"AAAATn%2F92E4%3D","updated":"2013-12-05 10:29:22.000000000","message":"IMHO May be we can keep the setUpclass,,","commit_id":"3c435765fe1a13199a85c9861868d2ce2bf0a387"}]}
