)]}'
{"keystone/contrib/oauth1/controllers.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"1f3a0a32e714310736990e35f2ef8f4f923628e3","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        requested_project_id \u003d headers.get(\u0027Requested-Project-Id\u0027)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        self.assignment_api.get_project(requested_project_id)"},{"line_number":219,"context_line":"        "},{"line_number":220,"context_line":"        if not consumer_id:"},{"line_number":221,"context_line":"            raise exception.ValidationError("},{"line_number":222,"context_line":"                attribute\u003d\u0027oauth_consumer_key\u0027, target\u003d\u0027request\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_306ecb00","line":219,"updated":"2015-01-08 07:32:56.000000000","message":"white space....\n\n...plus maybe rebase this on https://review.openstack.org/#/c/133525/ (once I\u0027ve fixed the merge conflict)....so call the resource_api, rather than the assignment_api","commit_id":"e1a3ca89f9268b920d4c8cb52206cbd2389e4f9c"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"da73db591291096cb000db04ce4c4298c31123e6","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        consumer_id \u003d oauth_headers.get(\u0027oauth_consumer_key\u0027)"},{"line_number":216,"context_line":"        requested_project_id \u003d headers.get(\u0027Requested-Project-Id\u0027)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # NOTE(stevemar): Ensure requrested project exists"},{"line_number":219,"context_line":"        self.assignment_api.get_project(requested_project_id)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        # NOTE(stevemar): Ensure consumer exists"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_f8b5d632","line":218,"updated":"2015-01-09 23:00:35.000000000","message":"nit: s/requrested/requested","commit_id":"34d5ebc6b3b28a7f4b63771086874cfb316da665"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"1ca096de0dfc300f59451d7b20b5a7dc2a544d3e","unresolved":false,"context_lines":[{"line_number":227,"context_line":"                attribute\u003d\u0027oauth_consumer_key\u0027, target\u003d\u0027request\u0027)"},{"line_number":228,"context_line":"        if not requested_project_id:"},{"line_number":229,"context_line":"            raise exception.ValidationError("},{"line_number":230,"context_line":"                attribute\u003d\u0027requested_project_id\u0027, target\u003d\u0027request\u0027)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        url \u003d self.base_url(context, context[\u0027path\u0027])"},{"line_number":233,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_84c68047","line":230,"updated":"2015-02-19 00:58:45.000000000","message":"we should probably move the check here, since we want to check first if the values are not empty before validating if they exist","commit_id":"113b2f46e634178cb497190c97bc84f5780fd4ef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"8b91d20be41d1f951fda10bdfe5b4ee47c3b3250","unresolved":false,"context_lines":[{"line_number":227,"context_line":"                attribute\u003d\u0027oauth_consumer_key\u0027, target\u003d\u0027request\u0027)"},{"line_number":228,"context_line":"        if not requested_project_id:"},{"line_number":229,"context_line":"            raise exception.ValidationError("},{"line_number":230,"context_line":"                attribute\u003d\u0027requested_project_id\u0027, target\u003d\u0027request\u0027)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        url \u003d self.base_url(context, context[\u0027path\u0027])"},{"line_number":233,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_1bee6b22","line":230,"in_reply_to":"da86d52c_84c68047","updated":"2015-02-19 04:30:09.000000000","message":"Done","commit_id":"113b2f46e634178cb497190c97bc84f5780fd4ef"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"803d1375434a22c189e04e7830b5e6290e00472c","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        oauth_headers \u003d oauth1.get_oauth_headers(headers)"},{"line_number":216,"context_line":"        consumer_id \u003d oauth_headers.get(\u0027oauth_consumer_key\u0027)"},{"line_number":217,"context_line":"        requested_project_id \u003d headers.get(\u0027Requested-Project-Id\u0027)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        if not consumer_id:"},{"line_number":220,"context_line":"            raise exception.ValidationError("},{"line_number":221,"context_line":"                attribute\u003d\u0027oauth_consumer_key\u0027, target\u003d\u0027request\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_bb171fed","line":218,"updated":"2015-02-19 04:36:45.000000000","message":"not sure if you meant this extra line....but it is more readable because of it!","commit_id":"ee2f991923d40154a0e7ec2e324af8de6cd1ba40"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"4deaa0c75c74c5d7308290a26d834c5cbb420baa","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        # NOTE(stevemar): Ensure consumer and requested project exist"},{"line_number":227,"context_line":"        self.resource_api.get_project(requested_project_id)"},{"line_number":228,"context_line":"        self.oauth_api.get_consumer(consumer_id)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        url \u003d self.base_url(context, context[\u0027path\u0027])"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        req_headers \u003d {\u0027Requested-Project-Id\u0027: requested_project_id}"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba7be1f8_bc59475d","line":229,"updated":"2015-02-23 15:05:45.000000000","message":"some logging, CADF event emission could be useful here.","commit_id":"ee2f991923d40154a0e7ec2e324af8de6cd1ba40"}],"keystone/tests/test_v3_oauth1.py":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"266a05f286f884ae9a5d25a9084c4a374aa0076f","unresolved":false,"context_lines":[{"line_number":619,"context_line":""},{"line_number":620,"context_line":"    def test_bad_consumer_id(self):"},{"line_number":621,"context_line":"        consumer \u003d self._create_single_consumer()"},{"line_number":622,"context_line":"        consumer_id \u003d \u0027xyz789\u0027"},{"line_number":623,"context_line":"        consumer_secret \u003d consumer[\u0027secret\u0027]"},{"line_number":624,"context_line":"        consumer \u003d {\u0027key\u0027: consumer_id, \u0027secret\u0027: consumer_secret}"},{"line_number":625,"context_line":"        url, headers \u003d self._create_request_token(consumer, self.project_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"da86d52c_d696a5ef","line":622,"updated":"2015-02-11 03:35:31.000000000","message":"Nit: Instead of using a special magic bogus value (xyz789), I believe it is preferred to use uuid.uuid4().hex in this situation in test cases.","commit_id":"729cb732381fb5a574020e75e632888e06a5f102"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"09cd9791f39371a8a770f2b635d22edf9489b8c4","unresolved":false,"context_lines":[{"line_number":619,"context_line":""},{"line_number":620,"context_line":"    def test_bad_consumer_id(self):"},{"line_number":621,"context_line":"        consumer \u003d self._create_single_consumer()"},{"line_number":622,"context_line":"        consumer_id \u003d \u0027xyz789\u0027"},{"line_number":623,"context_line":"        consumer_secret \u003d consumer[\u0027secret\u0027]"},{"line_number":624,"context_line":"        consumer \u003d {\u0027key\u0027: consumer_id, \u0027secret\u0027: consumer_secret}"},{"line_number":625,"context_line":"        url, headers \u003d self._create_request_token(consumer, self.project_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"da86d52c_ce390ef4","line":622,"in_reply_to":"da86d52c_d696a5ef","updated":"2015-02-14 06:04:08.000000000","message":"Done","commit_id":"729cb732381fb5a574020e75e632888e06a5f102"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"266a05f286f884ae9a5d25a9084c4a374aa0076f","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        consumer_id \u003d consumer[\u0027id\u0027]"},{"line_number":631,"context_line":"        consumer_secret \u003d consumer[\u0027secret\u0027]"},{"line_number":632,"context_line":"        consumer \u003d {\u0027key\u0027: consumer_id, \u0027secret\u0027: consumer_secret}"},{"line_number":633,"context_line":"        project_id \u003d \u0027abc123\u0027"},{"line_number":634,"context_line":"        url, headers \u003d self._create_request_token(consumer, project_id)"},{"line_number":635,"context_line":"        self.post(url, headers\u003dheaders, expected_status\u003d404)"},{"line_number":636,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"da86d52c_9690adee","line":633,"updated":"2015-02-11 03:35:31.000000000","message":"Nit: Instead of using a special magic bogus value (abc123), I believe it is preferred to use uuid.uuid4().hex in this situation in test cases.","commit_id":"729cb732381fb5a574020e75e632888e06a5f102"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"09cd9791f39371a8a770f2b635d22edf9489b8c4","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        consumer_id \u003d consumer[\u0027id\u0027]"},{"line_number":631,"context_line":"        consumer_secret \u003d consumer[\u0027secret\u0027]"},{"line_number":632,"context_line":"        consumer \u003d {\u0027key\u0027: consumer_id, \u0027secret\u0027: consumer_secret}"},{"line_number":633,"context_line":"        project_id \u003d \u0027abc123\u0027"},{"line_number":634,"context_line":"        url, headers \u003d self._create_request_token(consumer, project_id)"},{"line_number":635,"context_line":"        self.post(url, headers\u003dheaders, expected_status\u003d404)"},{"line_number":636,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"da86d52c_ee3ed2d9","line":633,"in_reply_to":"da86d52c_9690adee","updated":"2015-02-14 06:04:08.000000000","message":"Done","commit_id":"729cb732381fb5a574020e75e632888e06a5f102"}]}
