)]}'
{"tempest/common/rest_client.py":[{"author":{"_account_id":7680,"name":"Alex Gaynor","email":"alex.gaynor@gmail.com","username":"alex_gaynor"},"change_message_id":"2ec6a9bd5d90fb211669f33e71c2c535f8afe96e","unresolved":false,"context_lines":[{"line_number":257,"context_line":"    def expectedOK(self, expected_code, read_code):"},{"line_number":258,"context_line":"        if 200 \u003c\u003d read_code \u003c 300 and read_code !\u003d expected_code:"},{"line_number":259,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":260,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"                details \u003d pattern.format(read_code, expected_code)"},{"line_number":263,"context_line":"                raise exceptions.InvalidOKCode(details)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FkXA%3D","line":260,"updated":"2013-07-28 20:39:54.000000000","message":"This is over indented.","commit_id":"6a1d4bdefeca7343ef28974c8baf317bedf5ab28"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"16d634aae8f23bf6e2b4df097807cf5f5c6a653c","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                                                   password\u003dpassword)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    def expectedOK(self, expected_code, read_code):"},{"line_number":258,"context_line":"        if 200 \u003c\u003d read_code \u003c 300 and read_code !\u003d expected_code:"},{"line_number":259,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":260,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":261,"context_line":"                details \u003d pattern.format(read_code, expected_code)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FF4g%3D","line":258,"updated":"2013-08-07 11:04:02.000000000","message":"we actually have the success codes specifically somewhere, can we use read_code in HTTP_SUCCESS instead?","commit_id":"9e494fb495cbd8d64456d993764e648c4fda7a71"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"b83fdf00ef6cadebdcb2c19be694b6f4b178c8db","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                                   password\u003dpassword)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def expectedOK(self, expected_code, read_code):"},{"line_number":259,"context_line":"        if read_code \u003c 400 and read_code !\u003d expected_code:"},{"line_number":260,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":261,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":262,"context_line":"                details \u003d pattern.format(read_code, expected_code)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARn%2F%2F%2FE4%3D","line":259,"updated":"2013-08-19 09:37:43.000000000","message":"I think using HTTP_SUCCESS was a good suggestion because that would ensure read_code is an actual valid response code.\n\nThe if statement should probably be changed into two nested if(s) because we want to return InvalidOkCode if either: 1. read_code is not in HTTP_STATUS 2. read_code is !\u003d expected_code","commit_id":"1103c911acc571b011bc4ce6b447b5acd515a72c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"3e56ed0881f00a0e7663df36ef347ac24a5db096","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                                   password\u003dpassword)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def expectedOK(self, expected_code, read_code):"},{"line_number":259,"context_line":"        if read_code \u003c 400 and read_code !\u003d expected_code:"},{"line_number":260,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":261,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":262,"context_line":"                details \u003d pattern.format(read_code, expected_code)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARn%2F%2F4N4%3D","line":259,"in_reply_to":"AAAARn%2F%2F%2FE4%3D","updated":"2013-08-20 19:37:34.000000000","message":"HTTP_SUCCESS only usable as an additional sanity check, to disallow using this function with a  status code not specified in the base http spec.","commit_id":"1103c911acc571b011bc4ce6b447b5acd515a72c"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"aab242516c9bf89d57a3ce06f6393387a88a7706","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                                                   password\u003dpassword)"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def expectedOK(self, expected_code, read_code):"},{"line_number":259,"context_line":"        if read_code \u003c 400 and read_code !\u003d expected_code:"},{"line_number":260,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":261,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":262,"context_line":"                details \u003d pattern.format(read_code, expected_code)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARn%2F%2F0Pk%3D","line":259,"in_reply_to":"AAAARn%2F%2F4N4%3D","updated":"2013-08-21 15:27:29.000000000","message":"I get your point but I\u0027m more of the idea that this is a good sanity check; I think it is fair for some \u0027expectedOk\u0027 method to not only compare the return code with what is passed as expected but also to ensure it is a valid Ok code","commit_id":"1103c911acc571b011bc4ce6b447b5acd515a72c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"2277f18dae8af30b9f347411f9c8cc98fb8b1552","unresolved":false,"context_lines":[{"line_number":479,"context_line":""},{"line_number":480,"context_line":"            raise exceptions.ComputeFault(message)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        if resp.status \u003e\u003d 400:"},{"line_number":483,"context_line":"            if parse_resp:"},{"line_number":484,"context_line":"                resp_body \u003d self._parse_resp(resp_body)"},{"line_number":485,"context_line":"            raise exceptions.RestClientException(str(resp.status))"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARH%2F%2Fys4%3D","line":482,"updated":"2013-08-17 18:52:55.000000000","message":"Every status code above 400 is causes exception.","commit_id":"1103c911acc571b011bc4ce6b447b5acd515a72c"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"b83fdf00ef6cadebdcb2c19be694b6f4b178c8db","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        if resp.status \u003e\u003d 400:"},{"line_number":483,"context_line":"            if parse_resp:"},{"line_number":484,"context_line":"                resp_body \u003d self._parse_resp(resp_body)"},{"line_number":485,"context_line":"            raise exceptions.RestClientException(str(resp.status))"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    def is_absolute_limit(self, resp, resp_body):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARn%2F%2F%2FEA%3D","line":484,"updated":"2013-08-19 09:37:43.000000000","message":"I think lines 484 and 485 can be removed","commit_id":"1103c911acc571b011bc4ce6b447b5acd515a72c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"3e56ed0881f00a0e7663df36ef347ac24a5db096","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        if resp.status \u003e\u003d 400:"},{"line_number":483,"context_line":"            if parse_resp:"},{"line_number":484,"context_line":"                resp_body \u003d self._parse_resp(resp_body)"},{"line_number":485,"context_line":"            raise exceptions.RestClientException(str(resp.status))"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    def is_absolute_limit(self, resp, resp_body):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARn%2F%2F4Mc%3D","line":484,"in_reply_to":"AAAARn%2F%2F%2FEA%3D","updated":"2013-08-20 19:37:34.000000000","message":"No, they cannot be removed now.\n\nWith bigger re-factor, we can have all rest client method to call status code to exception translator.\n\nAfter this change the OK code is checked in the service.\nAll renaming code is checked by the base rest_client.\n\nThe redirect codes will be rejected by the OK code check, we do not have redirect yet.","commit_id":"1103c911acc571b011bc4ce6b447b5acd515a72c"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"aab242516c9bf89d57a3ce06f6393387a88a7706","unresolved":false,"context_lines":[{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        if resp.status \u003e\u003d 400:"},{"line_number":483,"context_line":"            if parse_resp:"},{"line_number":484,"context_line":"                resp_body \u003d self._parse_resp(resp_body)"},{"line_number":485,"context_line":"            raise exceptions.RestClientException(str(resp.status))"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    def is_absolute_limit(self, resp, resp_body):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARn%2F%2F0eY%3D","line":484,"in_reply_to":"AAAARn%2F%2F4Mc%3D","updated":"2013-08-21 15:27:29.000000000","message":"I\u0027m not sure I understand this, as I see it, resp_body is updated but never used","commit_id":"1103c911acc571b011bc4ce6b447b5acd515a72c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9358dbd28ee7b34d3d1cbb4f6e9ca49a8b5e896b","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                      \" is not a defined Success Code!\").format(expected_code)"},{"line_number":266,"context_line":"        assert expected_code in HTTP_SUCCESS, assert_msg"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        if read_code \u003c 400 and read_code !\u003d expected_code:"},{"line_number":269,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":270,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":271,"context_line":"                details \u003d pattern.format(read_code, expected_code)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FN9Y%3D","line":268,"updated":"2013-09-09 20:00:38.000000000","message":"I feel \"read_code \u003c 400 and\" is not necessary, because the above line has checked read_code in http success codes already.","commit_id":"e2cb0714e461678f5339f5b6dd17fa91c63b961c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"c36695b22e332f8a18791af105a864b5ae18ec34","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                      \" is not a defined Success Code!\").format(expected_code)"},{"line_number":266,"context_line":"        assert expected_code in HTTP_SUCCESS, assert_msg"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        if read_code \u003c 400 and read_code !\u003d expected_code:"},{"line_number":269,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":270,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":271,"context_line":"                details \u003d pattern.format(read_code, expected_code)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FIpY%3D","line":268,"in_reply_to":"AAAASn%2F%2FN9Y%3D","updated":"2013-09-11 11:22:50.000000000","message":"The codes above \u003e\u003d400 is processed in different location, this part not supposed to replace it.","commit_id":"e2cb0714e461678f5339f5b6dd17fa91c63b961c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9358dbd28ee7b34d3d1cbb4f6e9ca49a8b5e896b","unresolved":false,"context_lines":[{"line_number":269,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":270,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":271,"context_line":"                details \u003d pattern.format(read_code, expected_code)"},{"line_number":272,"context_line":"                raise exceptions.InvalidOKCode(details)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"    def post(self, url, body, headers):"},{"line_number":275,"context_line":"        return self.request(\u0027POST\u0027, url, headers, body)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FN8Y%3D","line":272,"updated":"2013-09-09 20:00:38.000000000","message":"I\u0027d prefer InvalidHttpSuccessCode because OK means HTTP200 and HTTP2xx codes are called as Success.","commit_id":"e2cb0714e461678f5339f5b6dd17fa91c63b961c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b098d6df3806558848307478d6b75fe25400f587","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        # NOTE(afazekas): the http status code above 400 is processed by"},{"line_number":269,"context_line":"        # the _error_checker method"},{"line_number":270,"context_line":"        if read_code \u003c 400 and read_code !\u003d expected_code:"},{"line_number":271,"context_line":"                pattern \u003d \"\"\"Unexpected http OK status code {0},"},{"line_number":272,"context_line":"                             The expected status code is {1}\"\"\""},{"line_number":273,"context_line":"                details \u003d pattern.format(read_code, expected_code)"},{"line_number":274,"context_line":"                raise exceptions.InvalidHttpSuccessCode(details)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAASn%2F%2B%2FYs%3D","line":271,"updated":"2013-09-14 01:39:58.000000000","message":"s/OK/success/","commit_id":"7fa7794fea8897dec6a80bcbeca7694e6af1880f"}],"tempest/exceptions.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"a1f90fcd5ed6ea4cc942f824879e9bb75cc124ba","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"class InvalidOkCode(RestClientException):"},{"line_number":61,"context_line":"    message \u003d \"The OK code is differnt than the expected one\""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class NotFound(RestClientException):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FeK4%3D","line":61,"updated":"2013-07-30 16:55:41.000000000","message":"different","commit_id":"0cffe3e1d6a8a3ed0d5bafae0a9749b6a50c73e3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b098d6df3806558848307478d6b75fe25400f587","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"class InvalidHttpSuccessCode(RestClientException):"},{"line_number":61,"context_line":"    message \u003d \"The OK code is different than the expected one\""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class NotFound(RestClientException):"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAASn%2F%2B%2FYU%3D","line":61,"updated":"2013-09-14 01:39:58.000000000","message":"s/OK/success/","commit_id":"7fa7794fea8897dec6a80bcbeca7694e6af1880f"}]}
