)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"ad4c35fc62a520367214f70f5ade595158552e99","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     guo yunxian \u003cyunxian.guo@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-01 16:34:43 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"A supplement of one patch that remove unused TYPE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As one patch described, Tempest has dropped XML support and the"},{"line_number":10,"context_line":"TYPE becames meaningless. There are still a few TYPE needs to be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bacf61ea_26ae2198","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":31},"updated":"2016-08-01 09:31:16.000000000","message":"I feel this is unnecessary. How about like this?\n\n Remove unused TYPE ......","commit_id":"f974e7695c188cd345d62a9278e96788455b09d6"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"ad4c35fc62a520367214f70f5ade595158552e99","unresolved":false,"context_lines":[{"line_number":10,"context_line":"TYPE becames meaningless. There are still a few TYPE needs to be"},{"line_number":11,"context_line":"deleted, this patch does this."},{"line_number":12,"context_line":"Related Change-Id: I85f088700145930fb43e400394dc6c470d5ed867"},{"line_number":13,"context_line":"        review-link: https://review.openstack.org/#/c/349093/"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I8a2e21d6c87a58b0335dbc66bb5a242953dfbd14"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bacf61ea_66c3f989","line":13,"range":{"start_line":13,"start_character":8,"end_line":13,"end_character":61},"updated":"2016-08-01 09:31:16.000000000","message":"I think we don\u0027t need this because the above change-id has same link.","commit_id":"f974e7695c188cd345d62a9278e96788455b09d6"}],"tempest/README.rst":[{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"c6bdd22042da4113407eea7762e0a55c07de2c87","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"API tests are validation tests for the OpenStack API. They should not"},{"line_number":28,"context_line":"use the existing python clients for OpenStack, but should instead use"},{"line_number":29,"context_line":"the tempest implementations of clients. Having raw clients also lets"},{"line_number":30,"context_line":"us pass invalid JSON to the APIs and see the results, something we"},{"line_number":31,"context_line":"could not get with the native clients."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_06e78440","line":29,"range":{"start_line":29,"start_character":59,"end_line":29,"end_character":68},"updated":"2016-08-01 16:52:42.000000000","message":"sed \u0027s/\"also lets\"/\"let\"/g\u0027","commit_id":"8112a4fdf3dd117b7f52520863818981b8a8c9e3"}],"tempest/lib/common/rest_client.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"ad4c35fc62a520367214f70f5ade595158552e99","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        self.http_obj \u003d http.ClosingHttp("},{"line_number":102,"context_line":"            disable_ssl_certificate_validation\u003ddscv, ca_certs\u003dca_certs)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def _get_type(self):"},{"line_number":105,"context_line":"        return self.TYPE"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def get_headers(self, accept_type\u003dNone, send_type\u003dNone):"},{"line_number":108,"context_line":"        \"\"\"Return the default headers which will be used with outgoing requests"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_6695b985","side":"PARENT","line":105,"range":{"start_line":104,"start_character":0,"end_line":105,"end_character":24},"updated":"2016-08-01 09:31:16.000000000","message":"I think this should be removed if we remove self.TYPE.","commit_id":"8679ed12e3eeb5eddc7245a797987b12515844be"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f92b75009c21124e035b62ce386a0c30284253d8","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            timeout\u003dhttp_timeout)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _get_type(self):"},{"line_number":108,"context_line":"        self.LOG.warning(\"Tempest has dropped XML support and the TYPE \""},{"line_number":109,"context_line":"                         \"becames meaningless\")"},{"line_number":110,"context_line":"        return self.TYPE"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def get_headers(self, accept_type\u003dNone, send_type\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_5eba47e2","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":47},"updated":"2016-08-04 07:43:30.000000000","message":"@guo: Thanks for the update! But this patch causes numerous warnings[1], actually..\nI think this is not healthy. So how about changing like this?\n\n1. Check TYPE whether if JSON or not\n2. If it is not JSON, put this warning log.\n\nIs this logic what you wanted? (overkill?)\n\n[1]\n $ ag \"Tempest has dropped XML support and the TYPE becames meaningless\" tempest.txt.gz|wc -l\n    22700","commit_id":"50779a2dd3a6a525cbf77552823b3be6ec56a669"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f92b75009c21124e035b62ce386a0c30284253d8","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _get_type(self):"},{"line_number":108,"context_line":"        self.LOG.warning(\"Tempest has dropped XML support and the TYPE \""},{"line_number":109,"context_line":"                         \"becames meaningless\")"},{"line_number":110,"context_line":"        return self.TYPE"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def get_headers(self, accept_type\u003dNone, send_type\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_3e92f34b","line":109,"range":{"start_line":109,"start_character":26,"end_line":109,"end_character":33},"updated":"2016-08-04 07:43:30.000000000","message":"s/becames/became","commit_id":"50779a2dd3a6a525cbf77552823b3be6ec56a669"},{"author":{"_account_id":22692,"name":"guo yunxian","email":"yunxian.guo@easystack.cn","username":"guoyunxian"},"change_message_id":"b39c94be8c68bc754147ed73828b1458afcfc065","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            timeout\u003dhttp_timeout)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _get_type(self):"},{"line_number":108,"context_line":"        self.LOG.warning(\"Tempest has dropped XML support and the TYPE \""},{"line_number":109,"context_line":"                         \"becames meaningless\")"},{"line_number":110,"context_line":"        return self.TYPE"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def get_headers(self, accept_type\u003dNone, send_type\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_be13785b","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":47},"in_reply_to":"bacf61ea_5eba47e2","updated":"2016-08-04 11:05:59.000000000","message":"ok,Thanks! Your suggestions are very helpful,i will do like this.","commit_id":"50779a2dd3a6a525cbf77552823b3be6ec56a669"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c9db4a43e3e4e9aacb11a70031a2320340ba7424","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    :param str http_timeout: Timeout in seconds to wait for the http request to"},{"line_number":70,"context_line":"                             return"},{"line_number":71,"context_line":"    \"\"\""},{"line_number":72,"context_line":"    TYPE \u003d \"json\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    # The version of the API this client implements"},{"line_number":75,"context_line":"    api_version \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_3dc95679","line":72,"updated":"2016-08-25 19:27:42.000000000","message":"here","commit_id":"5cf0a81801bc6079d4a8102f7ac9908afc3cc912"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c9db4a43e3e4e9aacb11a70031a2320340ba7424","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            timeout\u003dhttp_timeout)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _get_type(self):"},{"line_number":108,"context_line":"        if self.TYPE !\u003d json:"},{"line_number":109,"context_line":"            self.LOG.warning(\"Tempest has dropped XML support and the TYPE \""},{"line_number":110,"context_line":"                             \"became meaningless\")"},{"line_number":111,"context_line":"        return self.TYPE"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_9de04afc","line":108,"range":{"start_line":108,"start_character":24,"end_line":108,"end_character":28},"updated":"2016-08-25 19:27:42.000000000","message":"Here should be \"json\", not json like line 72..","commit_id":"5cf0a81801bc6079d4a8102f7ac9908afc3cc912"}],"tempest/tests/lib/test_rest_client.py":[{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"c6bdd22042da4113407eea7762e0a55c07de2c87","unresolved":false,"context_lines":[{"line_number":93,"context_line":"class TestRestClientHeadersJSON(TestRestClientHTTPMethods):"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def _verify_headers(self, resp):"},{"line_number":96,"context_line":"        self.assertEqual(self.rest_client._get_type(), self.TYPE)"},{"line_number":97,"context_line":"        resp \u003d dict((k.lower(), v) for k, v in six.iteritems(resp))"},{"line_number":98,"context_line":"        self.assertEqual(self.header_value, resp[\u0027accept\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(self.header_value, resp[\u0027content-type\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_617e2a6b","line":96,"range":{"start_line":96,"start_character":55,"end_line":96,"end_character":64},"updated":"2016-08-01 16:52:42.000000000","message":"Is it safe to delete TYPE from this unit test class when there is still some references to it?","commit_id":"8112a4fdf3dd117b7f52520863818981b8a8c9e3"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"c6bdd22042da4113407eea7762e0a55c07de2c87","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def setUp(self):"},{"line_number":102,"context_line":"        super(TestRestClientHeadersJSON, self).setUp()"},{"line_number":103,"context_line":"        self.rest_client.TYPE \u003d self.TYPE"},{"line_number":104,"context_line":"        self.header_value \u003d \u0027application/%s\u0027 % self.rest_client._get_type()"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def test_post(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_a194a28a","line":103,"range":{"start_line":103,"start_character":32,"end_line":103,"end_character":41},"updated":"2016-08-01 16:52:42.000000000","message":"ditto","commit_id":"8112a4fdf3dd117b7f52520863818981b8a8c9e3"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"c6bdd22042da4113407eea7762e0a55c07de2c87","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    def setUp(self):"},{"line_number":249,"context_line":"        self.fake_http \u003d fake_http.fake_httplib2()"},{"line_number":250,"context_line":"        super(TestRestClientParseRespJSON, self).setUp()"},{"line_number":251,"context_line":"        self.rest_client.TYPE \u003d self.TYPE"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def test_parse_resp_body_item(self):"},{"line_number":254,"context_line":"        body \u003d self.rest_client._parse_resp(json.dumps(self.item_expected))"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_410846da","line":251,"range":{"start_line":251,"start_character":32,"end_line":251,"end_character":41},"updated":"2016-08-01 16:52:42.000000000","message":"same comment","commit_id":"8112a4fdf3dd117b7f52520863818981b8a8c9e3"}]}
