)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"bd36a5b8c43a2a2d21c6f6eea3da10a6cfed21bb","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://developer.openstack.org/api-ref/identity/v3-ext/index.html#associate-policy-and-endpoint"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements: https://bugs.launchpad.net/tempest/+bug/1682641"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I4af1e4862a17216d65446e8c29bd1b886f5d8c24"},{"line_number":17,"context_line":"Co-Authored-By: Felipe C Monteiro \u003cfm577c@att.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7ffa3b31_e941253b","line":14,"updated":"2017-04-18 19:27:13.000000000","message":"This should be \"Closes-Bug: 1682641\"","commit_id":"1f6860f423cf1028b183da6381b5155cf4d9ac79"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Keystone v3-ext/OS-ENDPOINT-POLICY endpoints implementation."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Existing policy client is missing policy association API calls for the endpoints,"},{"line_number":10,"context_line":"services and regions. These are supported API, as mentioned on the wiki given below:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://developer.openstack.org/api-ref/identity/v3-ext/index.html#associate-policy-and-endpoint"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7ffa3b31_614be9af","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":84},"updated":"2017-04-18 22:12:28.000000000","message":"These lines are a little too long.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://developer.openstack.org/api-ref/identity/v3-ext/index.html#associate-policy-and-endpoint"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: 1682641"},{"line_number":15,"context_line":"Change-Id: I4af1e4862a17216d65446e8c29bd1b886f5d8c24"},{"line_number":16,"context_line":"Co-Authored-By: Felipe C Monteiro \u003cfm577c@att.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7ffa3b31_c1dbddea","line":14,"range":{"start_line":14,"start_character":12,"end_line":14,"end_character":19},"updated":"2017-04-18 22:12:28.000000000","message":"#1682641","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: 1682641"},{"line_number":15,"context_line":"Change-Id: I4af1e4862a17216d65446e8c29bd1b886f5d8c24"},{"line_number":16,"context_line":"Co-Authored-By: Felipe C Monteiro \u003cfm577c@att.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7ffa3b31_8150355f","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":50},"updated":"2017-04-18 22:12:28.000000000","message":"Please remove.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"}],"releasenotes/notes/add-additional-methods-to-policy-client-library-b8279c18335588c9.yaml":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``v3-ext/OS-ENDPOINT-POLICY`` API calls to support creation, deletion and "},{"line_number":5,"context_line":"    retrival of associations between service endpoints and policies. Such associations"},{"line_number":6,"context_line":"    enable an endpoint to request its policy."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7ffa3b31_614409b8","line":4,"range":{"start_line":4,"start_character":81,"end_line":4,"end_character":82},"updated":"2017-04-18 22:12:28.000000000","message":"nit: extra space.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fixes:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This resolves bug#1682641."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7ffa3b31_81e5d5aa","line":10,"range":{"start_line":10,"start_character":21,"end_line":10,"end_character":30},"updated":"2017-04-18 22:12:28.000000000","message":"nit: no space between bug and bug number.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f0a6328b657f20930de6b47bce8e0af1b51be20b","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fixes:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This resolves bug# 1682641."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7ffa3b31_7596e795","line":10,"range":{"start_line":10,"start_character":18,"end_line":10,"end_character":30},"updated":"2017-04-19 17:54:18.000000000","message":"bug #1682641","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"13d310910db3e50b2d68e9a7a96f91f1dfa6a0d6","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fixes:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This resolves bug# 1682641."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7ffa3b31_090bd5d5","line":10,"range":{"start_line":10,"start_character":18,"end_line":10,"end_character":30},"in_reply_to":"7ffa3b31_2d111205","updated":"2017-04-21 08:46:46.000000000","message":"I would remove completely this \"fixes\" section. 1682641 is not a real bug but more a \"missing feature\", so it\u0027s not worth mentioning it twice in the release note.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"90c5f6639be832a0e4d51845b34a1fcfcb83e084","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fixes:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This resolves bug# 1682641."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7ffa3b31_2d111205","line":10,"range":{"start_line":10,"start_character":18,"end_line":10,"end_character":30},"in_reply_to":"7ffa3b31_61c96caa","updated":"2017-04-20 16:24:18.000000000","message":"Should I take out the fixes part? Where would this end up into then?","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"31a013167914ec5269d821e3fe88efbf9904aa68","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fixes:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This resolves bug# 1682641."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7ffa3b31_996bde83","line":10,"range":{"start_line":10,"start_character":18,"end_line":10,"end_character":30},"in_reply_to":"7ffa3b31_7596e795","updated":"2017-04-20 08:48:45.000000000","message":"Each section (features vs fixes) must be independent and not refer to each other because the order in which all reno files will be merged is \"random\".","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"b2848cbae9027061102a41d2ef1f37abe8ed1c3b","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fixes:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This resolves bug# 1682641."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7ffa3b31_61c96caa","line":10,"range":{"start_line":10,"start_character":18,"end_line":10,"end_character":30},"in_reply_to":"7ffa3b31_996bde83","updated":"2017-04-20 13:38:20.000000000","message":"++","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34fcbfb51a63218f01a7f4c110cfec0f3418bfa3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``v3-ext/OS-ENDPOINT-POLICY`` API calls to support creation, deletion and"},{"line_number":5,"context_line":"    retrival of associations between service endpoints and policies. Such associations"},{"line_number":6,"context_line":"    enable an endpoint to request its policy."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5f201791_4faab185","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"updated":"2017-06-20 15:47:32.000000000","message":"retrieval","commit_id":"1dcd8c8b167c47d5a348f92f27a771181abb9f45"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"ae7f9e3c6b10479aac384d59616c4388fcfc5f7e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``v3-ext/OS-ENDPOINT-POLICY`` API calls to support creation, deletion and"},{"line_number":5,"context_line":"    retrival of associations between service endpoints and policies. Such associations"},{"line_number":6,"context_line":"    enable an endpoint to request its policy."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"ff346bd7_d7b0fd8c","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"updated":"2017-07-27 02:39:41.000000000","message":"retrieval","commit_id":"a804b471a66e728c6c677ac5623912a3c4234d49"}],"tempest/lib/services/identity/v3/policies_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a94ffede4b96334070e476b63cadc8739d60f095","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def create_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":78,"context_line":"        \"\"\"Create policy association with endpoint."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"\tFor a full list of available parameters, please refer to the official"},{"line_number":81,"context_line":"\tAPI reference:"},{"line_number":82,"context_line":"\thttps://developer.openstack.org/api-ref/identity/v3-ext/index.html#os-endpoint-policy-api"},{"line_number":83,"context_line":"\t\"\"\""},{"line_number":84,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":85,"context_line":"              .format(policy_id, endpoint_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_0e18d77e","line":82,"range":{"start_line":80,"start_character":0,"end_line":82,"end_character":90},"updated":"2017-04-18 19:23:45.000000000","message":"here seems tabs..","commit_id":"1f6860f423cf1028b183da6381b5155cf4d9ac79"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a94ffede4b96334070e476b63cadc8739d60f095","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":88,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def check_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":91,"context_line":"        \"\"\"Create policy association with endpoint.\"\"\""},{"line_number":92,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":93,"context_line":"              .format(policy_id, endpoint_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_a91d5d67","line":90,"range":{"start_line":90,"start_character":8,"end_line":90,"end_character":13},"updated":"2017-04-18 19:23:45.000000000","message":"here should be \"show_\" because of get() call.\n\"check_\" should be for head() call.","commit_id":"1f6860f423cf1028b183da6381b5155cf4d9ac79"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a94ffede4b96334070e476b63cadc8739d60f095","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def check_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":91,"context_line":"        \"\"\"Create policy association with endpoint.\"\"\""},{"line_number":92,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":93,"context_line":"              .format(policy_id, endpoint_id)"},{"line_number":94,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_69299588","line":91,"range":{"start_line":91,"start_character":11,"end_line":91,"end_character":17},"updated":"2017-04-18 19:23:45.000000000","message":"This seems wrong anyways..","commit_id":"1f6860f423cf1028b183da6381b5155cf4d9ac79"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a94ffede4b96334070e476b63cadc8739d60f095","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":112,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def check_policy_association_for_service(self, policy_id, service_id):"},{"line_number":115,"context_line":"        \"\"\"Create policy association with service.\"\"\""},{"line_number":116,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/services/{1}\"\\"},{"line_number":117,"context_line":"              .format(policy_id, service_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_c90e6931","line":114,"range":{"start_line":114,"start_character":8,"end_line":114,"end_character":13},"updated":"2017-04-18 19:23:45.000000000","message":"here should be \"show_\" because of get() call.","commit_id":"1f6860f423cf1028b183da6381b5155cf4d9ac79"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a94ffede4b96334070e476b63cadc8739d60f095","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def check_policy_association_for_service(self, policy_id, service_id):"},{"line_number":115,"context_line":"        \"\"\"Create policy association with service.\"\"\""},{"line_number":116,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/services/{1}\"\\"},{"line_number":117,"context_line":"              .format(policy_id, service_id)"},{"line_number":118,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_492c9998","line":115,"range":{"start_line":115,"start_character":11,"end_line":115,"end_character":17},"updated":"2017-04-18 19:23:45.000000000","message":"ditto","commit_id":"1f6860f423cf1028b183da6381b5155cf4d9ac79"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a94ffede4b96334070e476b63cadc8739d60f095","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":136,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def check_policy_association_for_region_and_service("},{"line_number":139,"context_line":"        self, policy_id, service_id, region_id):"},{"line_number":140,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/services/{1}/regions/{2}\"\\"},{"line_number":141,"context_line":"              .format(policy_id, service_id, region_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_4903790e","line":138,"range":{"start_line":138,"start_character":8,"end_line":138,"end_character":13},"updated":"2017-04-18 19:23:45.000000000","message":"ditto","commit_id":"1f6860f423cf1028b183da6381b5155cf4d9ac79"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":88,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def show_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":91,"context_line":"        \"\"\"Get policy association of endpoint.\"\"\""},{"line_number":92,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":93,"context_line":"              .format(policy_id, endpoint_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_37ee2aed","line":90,"range":{"start_line":90,"start_character":8,"end_line":90,"end_character":44},"updated":"2017-04-19 15:44:59.000000000","message":"My hunch is that a core reviewer will ask you to change this to check_policy_association_for_endpoint and use self.head below, because:\n\n\"A HEAD version of this API is also supported\" according to: https://developer.openstack.org/api-ref/identity/v3-ext/?expanded\u003dverify-a-policy-and-endpoint-association-detail\n\nHEAD IMO makes more sense here, because this API doesn\u0027t return a response body (according to API docs).","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":88,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def show_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":91,"context_line":"        \"\"\"Get policy association of endpoint.\"\"\""},{"line_number":92,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":93,"context_line":"              .format(policy_id, endpoint_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_434d74c2","line":90,"range":{"start_line":90,"start_character":8,"end_line":90,"end_character":44},"in_reply_to":"7ffa3b31_37ee2aed","updated":"2017-04-19 17:44:03.000000000","message":"HEAD will only get you the header info, not the entire body. This function is requesting GET method, hence show_*","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"31a013167914ec5269d821e3fe88efbf9904aa68","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":88,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def show_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":91,"context_line":"        \"\"\"Get policy association of endpoint.\"\"\""},{"line_number":92,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":93,"context_line":"              .format(policy_id, endpoint_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_79eb72db","line":90,"range":{"start_line":90,"start_character":8,"end_line":90,"end_character":44},"in_reply_to":"7ffa3b31_434d74c2","updated":"2017-04-20 08:48:45.000000000","message":"You are both right. I don\u0027t see a reason to choose one way over the other, so this is fine as is.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"b2848cbae9027061102a41d2ef1f37abe8ed1c3b","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":88,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def show_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":91,"context_line":"        \"\"\"Get policy association of endpoint.\"\"\""},{"line_number":92,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":93,"context_line":"              .format(policy_id, endpoint_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_c115e0e6","line":90,"range":{"start_line":90,"start_character":8,"end_line":90,"end_character":44},"in_reply_to":"7ffa3b31_79eb72db","updated":"2017-04-20 13:38:20.000000000","message":"agree with Jordan","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def delete_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":99,"context_line":"        \"\"\"Delete policy association with endpoint.\"\"\""},{"line_number":100,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":101,"context_line":"              .format(policy_id, endpoint_id)"},{"line_number":102,"context_line":"        resp, body \u003d self.delete(url)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_17c44e5e","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":54},"updated":"2017-04-19 15:44:59.000000000","message":"Why not use a longer docstring with the URL reference like you did in `create_policy_association_for_endpoint` above?","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"31a013167914ec5269d821e3fe88efbf9904aa68","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def delete_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":99,"context_line":"        \"\"\"Delete policy association with endpoint.\"\"\""},{"line_number":100,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":101,"context_line":"              .format(policy_id, endpoint_id)"},{"line_number":102,"context_line":"        resp, body \u003d self.delete(url)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_f9866213","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":54},"in_reply_to":"7ffa3b31_17c44e5e","updated":"2017-04-20 08:48:45.000000000","message":"Yeah, a link to the doc would be nice.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"13d310910db3e50b2d68e9a7a96f91f1dfa6a0d6","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def delete_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":99,"context_line":"        \"\"\"Delete policy association with endpoint.\"\"\""},{"line_number":100,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":101,"context_line":"              .format(policy_id, endpoint_id)"},{"line_number":102,"context_line":"        resp, body \u003d self.delete(url)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_c9de0d3d","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":54},"in_reply_to":"7ffa3b31_ed920a57","updated":"2017-04-21 08:46:46.000000000","message":"Your link https://developer.openstack.org/api-ref/identity/v3-ext/index.html#os-endpoint-policy-api is too generic. You have to link to the specific HTTP method. You can have a direct link to the HTTP method (get/put/delete ...) if you let your mouse hover each http method in the doc.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"90c5f6639be832a0e4d51845b34a1fcfcb83e084","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def delete_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":99,"context_line":"        \"\"\"Delete policy association with endpoint.\"\"\""},{"line_number":100,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":101,"context_line":"              .format(policy_id, endpoint_id)"},{"line_number":102,"context_line":"        resp, body \u003d self.delete(url)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_ed920a57","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":54},"in_reply_to":"7ffa3b31_f9866213","updated":"2017-04-20 16:24:18.000000000","message":"The doc link is provided above with create_; it would be same doc just a different href anchor. Shall we repeat it with the rest of the functions below?","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":112,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def show_policy_association_for_service(self, policy_id, service_id):"},{"line_number":115,"context_line":"        \"\"\"Get policy association of service.\"\"\""},{"line_number":116,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/services/{1}\"\\"},{"line_number":117,"context_line":"              .format(policy_id, service_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_777f1215","line":114,"range":{"start_line":114,"start_character":8,"end_line":114,"end_character":43},"updated":"2017-04-19 15:44:59.000000000","message":"See comment above for `show_policy_association_for_endpoint`. Same reasoning applies here.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":112,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def show_policy_association_for_service(self, policy_id, service_id):"},{"line_number":115,"context_line":"        \"\"\"Get policy association of service.\"\"\""},{"line_number":116,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/services/{1}\"\\"},{"line_number":117,"context_line":"              .format(policy_id, service_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_234a68ab","line":114,"range":{"start_line":114,"start_character":8,"end_line":114,"end_character":43},"in_reply_to":"7ffa3b31_777f1215","updated":"2017-04-19 17:44:03.000000000","message":"same as above","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":137,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def show_policy_association_for_region_and_service("},{"line_number":140,"context_line":"        self, policy_id, service_id, region_id):"},{"line_number":141,"context_line":"        \"\"\"Get policy association of service and region.\"\"\""},{"line_number":142,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/services/{1}/regions/{2}\"\\"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_37aaaa70","line":139,"range":{"start_line":139,"start_character":8,"end_line":139,"end_character":54},"updated":"2017-04-19 15:44:59.000000000","message":"See comment above for `show_policy_association_for_endpoint`. Same reasoning applies here.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":137,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def show_policy_association_for_region_and_service("},{"line_number":140,"context_line":"        self, policy_id, service_id, region_id):"},{"line_number":141,"context_line":"        \"\"\"Get policy association of service and region.\"\"\""},{"line_number":142,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/services/{1}/regions/{2}\"\\"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_03c9ac24","line":139,"range":{"start_line":139,"start_character":8,"end_line":139,"end_character":54},"in_reply_to":"7ffa3b31_37aaaa70","updated":"2017-04-19 17:44:03.000000000","message":"same as above","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34fcbfb51a63218f01a7f4c110cfec0f3418bfa3","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        API reference:"},{"line_number":82,"context_line":"        https://developer.openstack.org/api-ref/identity/v3-ext/index.html#associate-policy-and-endpoint"},{"line_number":83,"context_line":"        \"\"\""},{"line_number":84,"context_line":"        url \u003d \"policies/{0}/OS-ENDPOINT-POLICY/endpoints/{1}\"\\"},{"line_number":85,"context_line":"              .format(policy_id, endpoint_id)"},{"line_number":86,"context_line":"        resp, body \u003d self.put(url, \u0027{}\u0027)"},{"line_number":87,"context_line":"        self.expected_success(204, resp.status)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f201791_0fa2799b","line":84,"range":{"start_line":84,"start_character":15,"end_line":84,"end_character":60},"updated":"2017-06-20 15:47:32.000000000","message":"The convention is to use \"policies/%s/OS-ENDPOINT-POLICY/endpoints/%s\" % (policy_id, endpoint_id)","commit_id":"1dcd8c8b167c47d5a348f92f27a771181abb9f45"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0cf330058e7b47623893749a254a5692f80c2cc0","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":75,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def create_policy_association_for_endpoint(self, policy_id, endpoint_id):"},{"line_number":78,"context_line":"        \"\"\"Create policy association with endpoint."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        For a full list of available parameters, please refer to the official"}],"source_content_type":"text/x-python","patch_set":17,"id":"1f485f77_48d1e822","line":77,"range":{"start_line":77,"start_character":8,"end_line":77,"end_character":46},"updated":"2017-11-17 02:56:46.000000000","message":"as it is PUT can we name it update_policy_association_for_endpoint","commit_id":"e4925bf79894cd5f94aef5a5dcc4ed1d205899cc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0cf330058e7b47623893749a254a5692f80c2cc0","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":112,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def create_policy_association_for_service(self, policy_id, service_id):"},{"line_number":115,"context_line":"        \"\"\"Create policy association with service."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        API reference:"}],"source_content_type":"text/x-python","patch_set":17,"id":"1f485f77_08c77066","line":114,"range":{"start_line":114,"start_character":8,"end_line":114,"end_character":45},"updated":"2017-11-17 02:56:46.000000000","message":"ditto","commit_id":"e4925bf79894cd5f94aef5a5dcc4ed1d205899cc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0cf330058e7b47623893749a254a5692f80c2cc0","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":148,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def create_policy_association_for_region_and_service("},{"line_number":151,"context_line":"            self, policy_id, service_id, region_id):"},{"line_number":152,"context_line":"        \"\"\"Create policy association with service and region."},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1f485f77_c8a278ae","line":150,"range":{"start_line":150,"start_character":8,"end_line":150,"end_character":56},"updated":"2017-11-17 02:56:46.000000000","message":"ditto","commit_id":"e4925bf79894cd5f94aef5a5dcc4ed1d205899cc"}],"tempest/tests/lib/services/identity/v3/test_policies_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            status\u003d204)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def test_create_policy_association_for_endpoint(self):"},{"line_number":159,"context_line":"\tself.check_service_client_function("},{"line_number":160,"context_line":"            self.client.create_policy_association_for_endpoint,"},{"line_number":161,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":162,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_61c1a92e","line":159,"range":{"start_line":159,"start_character":0,"end_line":159,"end_character":1},"updated":"2017-04-18 22:12:28.000000000","message":"You have more tabs throughout this file. Should be spaces.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            status\u003d201)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def test_show_policy_association_for_endpoint(self):"},{"line_number":168,"context_line":"\tself.check_service_client_function("},{"line_number":169,"context_line":"            self.client.show_policy_association_for_endpoint,"},{"line_number":170,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":171,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_21e161d1","line":168,"range":{"start_line":168,"start_character":0,"end_line":168,"end_character":1},"updated":"2017-04-18 22:12:28.000000000","message":"Ditto.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            {},"},{"line_number":172,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":173,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":174,"context_line":"            status \u003d 200)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def test_delete_policy_association_for_endpoint(self):"},{"line_number":177,"context_line":"\t self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_81db9519","line":174,"range":{"start_line":174,"start_character":18,"end_line":174,"end_character":21},"updated":"2017-04-18 22:12:28.000000000","message":"No spaces.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            {},"},{"line_number":181,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":182,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":183,"context_line":"            status \u003d 204)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def test_create_policy_association_for_service(self):"},{"line_number":186,"context_line":"\tself.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_61d649f4","line":183,"range":{"start_line":183,"start_character":18,"end_line":183,"end_character":21},"updated":"2017-04-18 22:12:28.000000000","message":"Ditto.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            {},"},{"line_number":199,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":200,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":201,"context_line":"            status \u003d 200)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_delete_policy_association_for_service(self):"},{"line_number":204,"context_line":"\t self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_210a8189","line":201,"range":{"start_line":201,"start_character":18,"end_line":201,"end_character":21},"updated":"2017-04-18 22:12:28.000000000","message":"Ditto.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":207,"context_line":"            {},"},{"line_number":208,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":209,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":210,"context_line":"            status \u003d 204)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def create_policy_association_for_region_and_service(self):"},{"line_number":213,"context_line":"\t self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_0101c56b","line":210,"range":{"start_line":210,"start_character":18,"end_line":210,"end_character":21},"updated":"2017-04-18 22:12:28.000000000","message":"Ditto.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":227,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":228,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":229,"context_line":"            region_id\u003dself.FAKE_REGION_ID,"},{"line_number":230,"context_line":"            status \u003d 200)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def delete_policy_association_for_region_and_service(self):"},{"line_number":233,"context_line":"\tself.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_c1fabd73","line":230,"range":{"start_line":230,"start_character":18,"end_line":230,"end_character":21},"updated":"2017-04-18 22:12:28.000000000","message":"Ditto.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            {},"},{"line_number":237,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":238,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":239,"context_line":"\t    region_id\u003dself.FAKE_REGION_ID,"},{"line_number":240,"context_line":"            status \u003d 204)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_61ef69b0","line":239,"range":{"start_line":239,"start_character":0,"end_line":239,"end_character":5},"updated":"2017-04-18 22:12:28.000000000","message":"Remove tabs.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f7d1a3eaa664da12e12fba18177cec9d8513bf06","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":238,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":239,"context_line":"\t    region_id\u003dself.FAKE_REGION_ID,"},{"line_number":240,"context_line":"            status \u003d 204)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_a1f57185","line":240,"range":{"start_line":240,"start_character":18,"end_line":240,"end_character":21},"updated":"2017-04-18 22:12:28.000000000","message":"Ditto.","commit_id":"a20fa46ef8b7813ea26c98891fc9ba49ab58e570"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":165,"context_line":"            status\u003d201)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def test_show_policy_association_for_endpoint(self):"},{"line_number":168,"context_line":"        self.check_service_client_function("},{"line_number":169,"context_line":"            self.client.show_policy_association_for_endpoint,"},{"line_number":170,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_f7632241","line":167,"range":{"start_line":167,"start_character":8,"end_line":167,"end_character":49},"updated":"2017-04-19 15:44:59.000000000","message":"These should also be test_check_*","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f0a6328b657f20930de6b47bce8e0af1b51be20b","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":165,"context_line":"            status\u003d201)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def test_show_policy_association_for_endpoint(self):"},{"line_number":168,"context_line":"        self.check_service_client_function("},{"line_number":169,"context_line":"            self.client.show_policy_association_for_endpoint,"},{"line_number":170,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_d56dbbcc","line":167,"range":{"start_line":167,"start_character":8,"end_line":167,"end_character":49},"in_reply_to":"7ffa3b31_83293ce7","updated":"2017-04-19 17:54:18.000000000","message":"OK, that\u0027s fine, then disregard my comment.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":165,"context_line":"            status\u003d201)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def test_show_policy_association_for_endpoint(self):"},{"line_number":168,"context_line":"        self.check_service_client_function("},{"line_number":169,"context_line":"            self.client.show_policy_association_for_endpoint,"},{"line_number":170,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_83293ce7","line":167,"range":{"start_line":167,"start_character":8,"end_line":167,"end_character":49},"in_reply_to":"7ffa3b31_f7632241","updated":"2017-04-19 17:44:03.000000000","message":"It was asked by core developer previously, to change it to show_, as the method called is GET, not HEAD.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            {},"},{"line_number":172,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":173,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":174,"context_line":"            status\u003d200)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def test_delete_policy_association_for_endpoint(self):"},{"line_number":177,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_975e1e74","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":22},"updated":"2017-04-19 15:44:59.000000000","message":"204 according to: https://developer.openstack.org/api-ref/identity/v3-ext/?expanded\u003dverify-a-policy-and-endpoint-association-detail","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            {},"},{"line_number":172,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":173,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":174,"context_line":"            status\u003d200)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def test_delete_policy_association_for_endpoint(self):"},{"line_number":177,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_e31a40ca","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":22},"in_reply_to":"7ffa3b31_975e1e74","updated":"2017-04-19 17:44:03.000000000","message":"204 is the no-content, which is for HEAD. GET typically gives you 200.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"31a013167914ec5269d821e3fe88efbf9904aa68","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            {},"},{"line_number":172,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":173,"context_line":"            endpoint_id\u003dself.FAKE_ENDPOINT_ID,"},{"line_number":174,"context_line":"            status\u003d200)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def test_delete_policy_association_for_endpoint(self):"},{"line_number":177,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_d9cde666","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":22},"in_reply_to":"7ffa3b31_e31a40ca","updated":"2017-04-20 08:48:45.000000000","message":"This isn\u0027t as simple. 204 is \"no-content\" regardless of the HTTP Verb (get/head). If a GET request has no body, the correct status code is 204.\n\nIn any case the unit tests must mimic what the real api expect/returns. So it\u0027s 204 here.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":192,"context_line":"            status\u003d201)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_show_policy_association_for_service(self):"},{"line_number":195,"context_line":"        self.check_service_client_function("},{"line_number":196,"context_line":"            self.client.show_policy_association_for_service,"},{"line_number":197,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_d768261e","line":194,"range":{"start_line":194,"start_character":8,"end_line":194,"end_character":48},"updated":"2017-04-19 15:44:59.000000000","message":"These should also be test_check_*","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":192,"context_line":"            status\u003d201)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_show_policy_association_for_service(self):"},{"line_number":195,"context_line":"        self.check_service_client_function("},{"line_number":196,"context_line":"            self.client.show_policy_association_for_service,"},{"line_number":197,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_63263018","line":194,"range":{"start_line":194,"start_character":8,"end_line":194,"end_character":48},"in_reply_to":"7ffa3b31_d768261e","updated":"2017-04-19 17:44:03.000000000","message":"same as above","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            {},"},{"line_number":199,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":200,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":201,"context_line":"            status\u003d200)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_delete_policy_association_for_service(self):"},{"line_number":204,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_d7cdc631","line":201,"range":{"start_line":201,"start_character":19,"end_line":201,"end_character":22},"updated":"2017-04-19 15:44:59.000000000","message":"204 according to: https://developer.openstack.org/api-ref/identity/v3-ext/?expanded\u003dverify-a-policy-and-service-type-endpoint-association-detail","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            {},"},{"line_number":199,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":200,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":201,"context_line":"            status\u003d200)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_delete_policy_association_for_service(self):"},{"line_number":204,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_431fb4b6","line":201,"range":{"start_line":201,"start_character":19,"end_line":201,"end_character":22},"in_reply_to":"7ffa3b31_d7cdc631","updated":"2017-04-19 17:44:03.000000000","message":"same as above.","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":219,"context_line":"            region_id\u003dself.FAKE_REGION_ID,"},{"line_number":220,"context_line":"            status\u003d201)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def show_policy_association_for_region_and_service(self):"},{"line_number":223,"context_line":"        self.check_service_client_function("},{"line_number":224,"context_line":"            self.client.show_policy_association_for_region_and_service,"},{"line_number":225,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_b7591a8f","line":222,"range":{"start_line":222,"start_character":8,"end_line":222,"end_character":54},"updated":"2017-04-19 15:44:59.000000000","message":"These should also be test_check_*","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":219,"context_line":"            region_id\u003dself.FAKE_REGION_ID,"},{"line_number":220,"context_line":"            status\u003d201)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def show_policy_association_for_region_and_service(self):"},{"line_number":223,"context_line":"        self.check_service_client_function("},{"line_number":224,"context_line":"            self.client.show_policy_association_for_region_and_service,"},{"line_number":225,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_e37fe0dd","line":222,"range":{"start_line":222,"start_character":8,"end_line":222,"end_character":54},"in_reply_to":"7ffa3b31_b7591a8f","updated":"2017-04-19 17:44:03.000000000","message":"same as above","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cfbfdfb4af63d554b4d45eccd0115cec93917b14","unresolved":false,"context_lines":[{"line_number":227,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":228,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":229,"context_line":"            region_id\u003dself.FAKE_REGION_ID,"},{"line_number":230,"context_line":"            status\u003d200)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def delete_policy_association_for_region_and_service(self):"},{"line_number":233,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_97d3bed5","line":230,"range":{"start_line":230,"start_character":19,"end_line":230,"end_character":22},"updated":"2017-04-19 15:44:59.000000000","message":"204 according to: https://developer.openstack.org/api-ref/identity/v3-ext/?expanded\u003dverify-a-policy-and-service-type-endpoint-in-a-region-association-detail","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"8cb06e91dfc548d5bf91034892408e3cb36c1dcc","unresolved":false,"context_lines":[{"line_number":227,"context_line":"            policy_id\u003dself.FAKE_POLICY_ID,"},{"line_number":228,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":229,"context_line":"            region_id\u003dself.FAKE_REGION_ID,"},{"line_number":230,"context_line":"            status\u003d200)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def delete_policy_association_for_region_and_service(self):"},{"line_number":233,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_a38558d1","line":230,"range":{"start_line":230,"start_character":19,"end_line":230,"end_character":22},"in_reply_to":"7ffa3b31_97d3bed5","updated":"2017-04-19 17:44:03.000000000","message":"same as above","commit_id":"4655ad7c77ceb730c255c595ce26c5be6ae37491"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9464a827eb65760872f154ff4a1acfcd1ffca72d","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            policy_id\u003d\"717273\","},{"line_number":156,"context_line":"            status\u003d204)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def test_create_policy_association_for_endpoint(self):"},{"line_number":159,"context_line":"        self.check_service_client_function("},{"line_number":160,"context_line":"            self.client.create_policy_association_for_endpoint,"},{"line_number":161,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.put\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ff73747_005b0d54","line":158,"range":{"start_line":158,"start_character":8,"end_line":158,"end_character":51},"updated":"2017-04-26 00:59:19.000000000","message":"Why is it that for each of these tests you aren\u0027t creating a helper with bytes_body then creating a \"with_str_body\" and \"with_bytes_body\" test for each endpoint?\n\nThat is:\n\ndef _test_create_policy_association_for_endpoint(self, bytes_body\u003dFalse):\n    ...\n\nThen:\n\ndef test_create_policy_association_for_endpoint_with_str_body(self):\n    self._test_create_policy_association_for_endpoint()\n\ndef test_create_policy_association_for_endpoint_with_bytes_body(self):\n    self._test_create_policy_association_for_endpoint(bytes_body\u003dTrue)","commit_id":"565cef93c118ae29dbb0425645d0ce7b5e9955f4"},{"author":{"_account_id":20809,"name":"Adnan Khan","email":"rk221s@att.com","username":"rao.adnan.khan"},"change_message_id":"4246787ca2abe8144c2161f0383e18081009f80e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            policy_id\u003d\"717273\","},{"line_number":156,"context_line":"            status\u003d204)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def test_create_policy_association_for_endpoint(self):"},{"line_number":159,"context_line":"        self.check_service_client_function("},{"line_number":160,"context_line":"            self.client.create_policy_association_for_endpoint,"},{"line_number":161,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.put\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ff73747_e7b82477","line":158,"range":{"start_line":158,"start_character":8,"end_line":158,"end_character":51},"in_reply_to":"5ff73747_005b0d54","updated":"2017-04-26 13:58:26.000000000","message":"As you can see that the there is no body, hence no need for byte_body param.","commit_id":"565cef93c118ae29dbb0425645d0ce7b5e9955f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9464a827eb65760872f154ff4a1acfcd1ffca72d","unresolved":false,"context_lines":[{"line_number":209,"context_line":"            service_id\u003dself.FAKE_SERVICE_ID,"},{"line_number":210,"context_line":"            status\u003d204)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def create_policy_association_for_region_and_service(self):"},{"line_number":213,"context_line":"        self.check_service_client_function("},{"line_number":214,"context_line":"            self.client.create_policy_association_for_region_and_service,"},{"line_number":215,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.put\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ff73747_606d3103","line":212,"updated":"2017-04-26 00:59:19.000000000","message":"Should begin with test_","commit_id":"565cef93c118ae29dbb0425645d0ce7b5e9955f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9464a827eb65760872f154ff4a1acfcd1ffca72d","unresolved":false,"context_lines":[{"line_number":219,"context_line":"            region_id\u003dself.FAKE_REGION_ID,"},{"line_number":220,"context_line":"            status\u003d204)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def show_policy_association_for_region_and_service(self):"},{"line_number":223,"context_line":"        self.check_service_client_function("},{"line_number":224,"context_line":"            self.client.show_policy_association_for_region_and_service,"},{"line_number":225,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ff73747_8066fd28","line":222,"updated":"2017-04-26 00:59:19.000000000","message":"Should begin with test_","commit_id":"565cef93c118ae29dbb0425645d0ce7b5e9955f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9464a827eb65760872f154ff4a1acfcd1ffca72d","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            region_id\u003dself.FAKE_REGION_ID,"},{"line_number":230,"context_line":"            status\u003d204)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def delete_policy_association_for_region_and_service(self):"},{"line_number":233,"context_line":"        self.check_service_client_function("},{"line_number":234,"context_line":"            self.client.delete_policy_association_for_region_and_service,"},{"line_number":235,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.delete\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5ff73747_a063391a","line":232,"updated":"2017-04-26 00:59:19.000000000","message":"Should begin with test_","commit_id":"565cef93c118ae29dbb0425645d0ce7b5e9955f4"}]}
