)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d27f9b91f623b1665098c0c0f06da6ed4155e9f2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Integration tests cleanup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch does a cleanup and fixes some nits found by reviewers"},{"line_number":10,"context_line":"in the original patchs, some of them are:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- import json instead of jsonutils"},{"line_number":13,"context_line":"- use six.moves.http_client"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7aa08908_5896ae94","line":10,"range":{"start_line":10,"start_character":7,"end_line":10,"end_character":22},"updated":"2016-06-18 07:35:13.000000000","message":"link to the original patch?","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"5ac96d246adfa9f2723f00870a0b0fd084002833","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Integration tests cleanup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch does a cleanup and fixes some nits found by reviewers"},{"line_number":10,"context_line":"in the original patchs, some of them are:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- import json instead of jsonutils"},{"line_number":13,"context_line":"- use six.moves.http_client"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a9d85d2_d645fa17","line":10,"range":{"start_line":10,"start_character":7,"end_line":10,"end_character":22},"in_reply_to":"7aa08908_5896ae94","updated":"2016-06-19 03:05:28.000000000","message":"Done","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d27f9b91f623b1665098c0c0f06da6ed4155e9f2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch does a cleanup and fixes some nits found by reviewers"},{"line_number":10,"context_line":"in the original patchs, some of them are:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- import json instead of jsonutils"},{"line_number":13,"context_line":"- use six.moves.http_client"},{"line_number":14,"context_line":"- put common logic on clients superclass"},{"line_number":15,"context_line":"- use \"fails\" to indicate negative cases"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7aa08908_3893e2a4","line":12,"range":{"start_line":12,"start_character":2,"end_line":12,"end_character":34},"updated":"2016-06-18 07:35:13.000000000","message":"I didn\u0027t get it.","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"5ac96d246adfa9f2723f00870a0b0fd084002833","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch does a cleanup and fixes some nits found by reviewers"},{"line_number":10,"context_line":"in the original patchs, some of them are:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- import json instead of jsonutils"},{"line_number":13,"context_line":"- use six.moves.http_client"},{"line_number":14,"context_line":"- put common logic on clients superclass"},{"line_number":15,"context_line":"- use \"fails\" to indicate negative cases"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a9d85d2_d6ce9ab3","line":12,"range":{"start_line":12,"start_character":2,"end_line":12,"end_character":34},"in_reply_to":"7aa08908_3893e2a4","updated":"2016-06-19 03:05:28.000000000","message":"jsonutils is used mostly for compatibility, which is not necessary in this specific case","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"}],"keystone_tempest_plugin/services/identity/clients.py":[{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"83d4b746c06e254bfc636d5432f64178f34475d7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def _delete(self, entity_id, **kwargs):"},{"line_number":54,"context_line":"        url \u003d self._build_path(entity_id)"},{"line_number":55,"context_line":"        resp, body \u003d super(Federation, self).delete(url, **kwargs)"},{"line_number":56,"context_line":"        self.expected_status(http_client.NO_CONTENT, resp.status)"},{"line_number":57,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _get(self, entity_id\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_2d52a913","line":56,"range":{"start_line":56,"start_character":13,"end_line":56,"end_character":28},"updated":"2016-06-17 10:48:34.000000000","message":"expected_success?","commit_id":"874a91afbeb28efc24e573bd4f192b43a3cdcecf"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d27f9b91f623b1665098c0c0f06da6ed4155e9f2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves import http_client"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from tempest import config"},{"line_number":20,"context_line":"from tempest.lib.common import rest_client"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_7dbd5cb0","line":18,"updated":"2016-06-18 07:35:13.000000000","message":"nit, pls remove the whitespace here since six should be third party lib.","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"5ac96d246adfa9f2723f00870a0b0fd084002833","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves import http_client"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from tempest import config"},{"line_number":20,"context_line":"from tempest.lib.common import rest_client"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a9d85d2_963b729c","line":18,"in_reply_to":"7aa08908_7dbd5cb0","updated":"2016-06-19 03:05:28.000000000","message":"Done","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d27f9b91f623b1665098c0c0f06da6ed4155e9f2","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def _put(self, entity_id, body, **kwargs):"},{"line_number":74,"context_line":"        url \u003d self._build_path(entity_id)"},{"line_number":75,"context_line":"        resp, body \u003d super(Federation, self).put(url, body, **kwargs)"},{"line_number":76,"context_line":"        self.expected_success(http_client.CREATED, resp.status)"},{"line_number":77,"context_line":"        body \u003d json.loads(body)"},{"line_number":78,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_985e5611","line":76,"range":{"start_line":76,"start_character":30,"end_line":76,"end_character":49},"updated":"2016-06-18 07:35:13.000000000","message":"I\u0027d like this to be default value from kwargs instead of hard coded here, the return status is not always predefined, for example, some API in keystone return 204 for put.","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"5ac96d246adfa9f2723f00870a0b0fd084002833","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def _put(self, entity_id, body, **kwargs):"},{"line_number":74,"context_line":"        url \u003d self._build_path(entity_id)"},{"line_number":75,"context_line":"        resp, body \u003d super(Federation, self).put(url, body, **kwargs)"},{"line_number":76,"context_line":"        self.expected_success(http_client.CREATED, resp.status)"},{"line_number":77,"context_line":"        body \u003d json.loads(body)"},{"line_number":78,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a9d85d2_b6366eb2","line":76,"range":{"start_line":76,"start_character":30,"end_line":76,"end_character":49},"in_reply_to":"7aa08908_985e5611","updated":"2016-06-19 03:05:28.000000000","message":"it isn\u0027t in a general sense, but this client is for the Federation API, which has a consistent 201 return value for this kind of operation.","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"3e9a19a787a75641a7c5d62507e65532110adaff","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":"from six.moves import http_client"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest import config"},{"line_number":19,"context_line":"from tempest.lib.common import rest_client"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a9d85d2_9c51d111","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":33},"updated":"2016-06-19 08:26:32.000000000","message":"hmm, IIUC, json is from python lib but six and tempest are from third party.","commit_id":"eb3ab580426e6afba82f6b7b1671da8b24c9d890"}],"keystone_tempest_plugin/services/identity/v3/mapping_rules_client.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d27f9b91f623b1665098c0c0f06da6ed4155e9f2","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def create_mapping_rule(self, mapping_id, rules):"},{"line_number":25,"context_line":"        \"\"\"Create a mapping rule.\"\"\""},{"line_number":26,"context_line":"        put_body \u003d json.dumps({\u0027mapping\u0027: rules})"},{"line_number":27,"context_line":"        return self._put(mapping_id, put_body)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def list_mapping_rules(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_983016eb","line":26,"range":{"start_line":26,"start_character":19,"end_line":26,"end_character":29},"updated":"2016-06-18 07:35:13.000000000","message":"jsonutils.dumps is used widely in keystone project, why change to use native json lib on purpose?","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"5ac96d246adfa9f2723f00870a0b0fd084002833","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def create_mapping_rule(self, mapping_id, rules):"},{"line_number":25,"context_line":"        \"\"\"Create a mapping rule.\"\"\""},{"line_number":26,"context_line":"        put_body \u003d json.dumps({\u0027mapping\u0027: rules})"},{"line_number":27,"context_line":"        return self._put(mapping_id, put_body)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def list_mapping_rules(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a9d85d2_f640f609","line":26,"range":{"start_line":26,"start_character":19,"end_line":26,"end_character":29},"in_reply_to":"7aa08908_983016eb","updated":"2016-06-19 03:05:28.000000000","message":"jsonutils is used for compatibility reasons (for Python 2.6 to be more specific), keystone has dropped Python 2.6 for a while.\n\nsee comment at line 17: https://review.openstack.org/#/c/302299/11/keystone_tempest_plugin/services/identity/v3/identity_providers_client.py","commit_id":"cc9f19a02236376bec98ee207dc4926606e8ba42"}],"keystone_tempest_plugin/services/identity/v3/service_providers_client.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"67957939d9385c693a92a69084604b181947bb1c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7aa08908_72b2dee6","updated":"2016-06-17 04:17:01.000000000","message":"much cleaner!","commit_id":"874a91afbeb28efc24e573bd4f192b43a3cdcecf"}]}
