)]}'
{"keystone/tests/unit/test_v2.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2bff698f34e92b6f3f69164270b49617c071fd1e","unresolved":false,"context_lines":[{"line_number":1143,"context_line":"        return r.result[\u0027user\u0027][attribute_name]"},{"line_number":1144,"context_line":""},{"line_number":1145,"context_line":"    def test_service_crud_requires_auth(self):"},{"line_number":1146,"context_line":"        \"\"\"Service CRUD should unauthorized without an X-Auth-Token.\"\"\""},{"line_number":1147,"context_line":"        # values here don\u0027t matter because it will be unauthorized before"},{"line_number":1148,"context_line":"        # they\u0027re checked (bug 1006822)."},{"line_number":1149,"context_line":"        service_path \u003d \u0027/v2.0/OS-KSADM/services/%s\u0027 % uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_0e2bf783","line":1146,"updated":"2015-08-26 17:56:58.000000000","message":"should return unauthorized*","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"eeaebd8c6674ac19467b02c21b86372810fbd422","unresolved":false,"context_lines":[{"line_number":1143,"context_line":"        return r.result[\u0027user\u0027][attribute_name]"},{"line_number":1144,"context_line":""},{"line_number":1145,"context_line":"    def test_service_crud_requires_auth(self):"},{"line_number":1146,"context_line":"        \"\"\"Service CRUD should unauthorized without an X-Auth-Token.\"\"\""},{"line_number":1147,"context_line":"        # values here don\u0027t matter because it will be unauthorized before"},{"line_number":1148,"context_line":"        # they\u0027re checked (bug 1006822)."},{"line_number":1149,"context_line":"        service_path \u003d \u0027/v2.0/OS-KSADM/services/%s\u0027 % uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_d53c9931","line":1146,"in_reply_to":"da20952f_0e2bf783","updated":"2015-08-27 05:45:56.000000000","message":"Done","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2bff698f34e92b6f3f69164270b49617c071fd1e","unresolved":false,"context_lines":[{"line_number":1176,"context_line":"        self.assertValidErrorResponse(r)"},{"line_number":1177,"context_line":""},{"line_number":1178,"context_line":"    def test_user_role_list_requires_auth(self):"},{"line_number":1179,"context_line":"        \"\"\"User role list should unauthorized without an X-Auth-Token.\"\"\""},{"line_number":1180,"context_line":"        # values here don\u0027t matter because it will be unauthorized before"},{"line_number":1181,"context_line":"        # they\u0027re checked (bug 1006815)."},{"line_number":1182,"context_line":"        path \u003d \u0027/v2.0/tenants/%(tenant_id)s/users/%(user_id)s/roles\u0027 % {"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_0e521714","line":1179,"updated":"2015-08-26 17:56:58.000000000","message":"same comment here","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"eeaebd8c6674ac19467b02c21b86372810fbd422","unresolved":false,"context_lines":[{"line_number":1176,"context_line":"        self.assertValidErrorResponse(r)"},{"line_number":1177,"context_line":""},{"line_number":1178,"context_line":"    def test_user_role_list_requires_auth(self):"},{"line_number":1179,"context_line":"        \"\"\"User role list should unauthorized without an X-Auth-Token.\"\"\""},{"line_number":1180,"context_line":"        # values here don\u0027t matter because it will be unauthorized before"},{"line_number":1181,"context_line":"        # they\u0027re checked (bug 1006815)."},{"line_number":1182,"context_line":"        path \u003d \u0027/v2.0/tenants/%(tenant_id)s/users/%(user_id)s/roles\u0027 % {"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_954b81b0","line":1179,"in_reply_to":"da20952f_0e521714","updated":"2015-08-27 05:45:56.000000000","message":"Done","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"}],"keystone/tests/unit/test_v3_assignment.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"        \"\"\"Grant role on a project to a user that doesn\u0027t exist, 404 result."},{"line_number":1131,"context_line":""},{"line_number":1132,"context_line":"        When grant a role on a project to a user that doesn\u0027t exist, the server"},{"line_number":1133,"context_line":"        returns http_client.NOT_FOUND Not Found for the user."},{"line_number":1134,"context_line":""},{"line_number":1135,"context_line":"        \"\"\""},{"line_number":1136,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_f3412664","line":1133,"updated":"2015-08-31 04:11:21.000000000","message":"probably the \"Not Found\" after NOT_FOUND is redundant now","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"        \"\"\"Grant role on a project to a user that doesn\u0027t exist, 404 result."},{"line_number":1131,"context_line":""},{"line_number":1132,"context_line":"        When grant a role on a project to a user that doesn\u0027t exist, the server"},{"line_number":1133,"context_line":"        returns http_client.NOT_FOUND Not Found for the user."},{"line_number":1134,"context_line":""},{"line_number":1135,"context_line":"        \"\"\""},{"line_number":1136,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_13ea6874","line":1133,"in_reply_to":"da20952f_f3412664","updated":"2015-09-01 02:01:00.000000000","message":"Done","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"}],"keystone/tests/unit/test_v3_auth.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":669,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":670,"context_line":"                    expected_status\u003dhttp_client.UNAUTHORIZED,"},{"line_number":671,"context_line":"                    token\u003duser_token)"},{"line_number":672,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":673,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":674,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":675,"context_line":"                    token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_732d16a7","line":672,"updated":"2015-08-31 04:11:21.000000000","message":"above you\u0027ve removed 401, so why leave 404 here?","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":669,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":670,"context_line":"                    expected_status\u003dhttp_client.UNAUTHORIZED,"},{"line_number":671,"context_line":"                    token\u003duser_token)"},{"line_number":672,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":673,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":674,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":675,"context_line":"                    token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_937bd8bd","line":672,"in_reply_to":"da20952f_732d16a7","updated":"2015-09-01 02:01:00.000000000","message":"Done","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":673,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":674,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":675,"context_line":"                    token\u003dadminA_token)"},{"line_number":676,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":677,"context_line":"        self.head(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":678,"context_line":"                  expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":679,"context_line":"                  token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_932a2a8f","line":676,"updated":"2015-08-31 04:11:21.000000000","message":"ditto","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":673,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":674,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":675,"context_line":"                    token\u003dadminA_token)"},{"line_number":676,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":677,"context_line":"        self.head(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":678,"context_line":"                  expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":679,"context_line":"                  token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_1346e87a","line":676,"in_reply_to":"da20952f_932a2a8f","updated":"2015-09-01 02:01:00.000000000","message":"Done","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":703,"context_line":"        self.head(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":704,"context_line":"                  expected_status\u003dhttp_client.UNAUTHORIZED,"},{"line_number":705,"context_line":"                  token\u003duser_token)"},{"line_number":706,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":707,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":708,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":709,"context_line":"                    token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_331a3e7e","line":706,"updated":"2015-08-31 04:11:21.000000000","message":"ditto","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":703,"context_line":"        self.head(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":704,"context_line":"                  expected_status\u003dhttp_client.UNAUTHORIZED,"},{"line_number":705,"context_line":"                  token\u003duser_token)"},{"line_number":706,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":707,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":708,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":709,"context_line":"                    token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_b3285c9b","line":706,"in_reply_to":"da20952f_331a3e7e","updated":"2015-09-01 02:01:00.000000000","message":"Done","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":708,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":709,"context_line":"                    token\u003dadminA_token)"},{"line_number":710,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":711,"context_line":"        self.head(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":712,"context_line":"                  expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":713,"context_line":"                  token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_531fb26b","line":710,"updated":"2015-08-31 04:11:21.000000000","message":"ditto","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        self.delete(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":708,"context_line":"                    expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":709,"context_line":"                    token\u003dadminA_token)"},{"line_number":710,"context_line":"        # valid X-Auth-Token and invalid X-Subject-Token (404)"},{"line_number":711,"context_line":"        self.head(\u0027/auth/tokens\u0027, headers\u003dheaders,"},{"line_number":712,"context_line":"                  expected_status\u003dhttp_client.NOT_FOUND,"},{"line_number":713,"context_line":"                  token\u003dadminA_token)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_9329989d","line":710,"in_reply_to":"da20952f_531fb26b","updated":"2015-09-01 02:01:00.000000000","message":"Done","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":1589,"context_line":"            events_response,"},{"line_number":1590,"context_line":"            audit_id\u003dresponse[\u0027audit_ids\u0027][0])"},{"line_number":1591,"context_line":""},{"line_number":1592,"context_line":"    def test_revoke_by_id_false(self):"},{"line_number":1593,"context_line":"        self.get(\u0027/auth/tokens/OS-PKI/revoked\u0027,"},{"line_number":1594,"context_line":"                 expected_status\u003dhttp_client.GONE)"},{"line_number":1595,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_761bc473","line":1592,"updated":"2015-08-31 04:11:21.000000000","message":"should function be test_revoke_by_id_false_gone?","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":1589,"context_line":"            events_response,"},{"line_number":1590,"context_line":"            audit_id\u003dresponse[\u0027audit_ids\u0027][0])"},{"line_number":1591,"context_line":""},{"line_number":1592,"context_line":"    def test_revoke_by_id_false(self):"},{"line_number":1593,"context_line":"        self.get(\u0027/auth/tokens/OS-PKI/revoked\u0027,"},{"line_number":1594,"context_line":"                 expected_status\u003dhttp_client.GONE)"},{"line_number":1595,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_167016a3","line":1592,"in_reply_to":"da20952f_761bc473","updated":"2015-09-01 02:01:00.000000000","message":"I think we can just leave the code in the function name, gone is not straightforward as 410.","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"}],"keystone/tests/unit/test_v3_catalog.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        # delete the endpoint"},{"line_number":768,"context_line":"        self.delete(\u0027/endpoints/%s\u0027 % ref[\u0027id\u0027])"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        # make sure it\u0027s deleted (GET should return 404)"},{"line_number":771,"context_line":"        self.get(\u0027/endpoints/%s\u0027 % ref[\u0027id\u0027],"},{"line_number":772,"context_line":"                 expected_status\u003dhttp_client.NOT_FOUND)"},{"line_number":773,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_eea3204e","line":770,"updated":"2015-09-14 00:19:41.000000000","message":"Not Found.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"}],"keystone/tests/unit/test_v3_credential.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2bff698f34e92b6f3f69164270b49617c071fd1e","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        ref[\u0027blob\u0027] \u003d \u0027{\"abc\":\"def\"d}\u0027"},{"line_number":214,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":215,"context_line":"        # Assert bad request containing invalid"},{"line_number":216,"context_line":"        # blob"},{"line_number":217,"context_line":"        response \u003d self.post("},{"line_number":218,"context_line":"            \u0027/credentials\u0027,"},{"line_number":219,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_6edb93ee","line":216,"updated":"2015-08-26 17:56:58.000000000","message":"this whole comment could live on one line now.","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"eeaebd8c6674ac19467b02c21b86372810fbd422","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        ref[\u0027blob\u0027] \u003d \u0027{\"abc\":\"def\"d}\u0027"},{"line_number":214,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":215,"context_line":"        # Assert bad request containing invalid"},{"line_number":216,"context_line":"        # blob"},{"line_number":217,"context_line":"        response \u003d self.post("},{"line_number":218,"context_line":"            \u0027/credentials\u0027,"},{"line_number":219,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_55cc0935","line":216,"in_reply_to":"da20952f_6edb93ee","updated":"2015-08-27 05:45:56.000000000","message":"Done","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                \"secret\": uuid.uuid4().hex}"},{"line_number":200,"context_line":"        ref[\u0027blob\u0027] \u003d json.dumps(blob)"},{"line_number":201,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":202,"context_line":"        # Assert bad request status for bad request with missing project_id"},{"line_number":203,"context_line":"        self.post("},{"line_number":204,"context_line":"            \u0027/credentials\u0027,"},{"line_number":205,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_f654b4fe","line":202,"updated":"2015-08-31 04:11:21.000000000","message":"sounds funny to repeat the same words twice in the sentence \"bad request status for bad request\"","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                \"secret\": uuid.uuid4().hex}"},{"line_number":200,"context_line":"        ref[\u0027blob\u0027] \u003d json.dumps(blob)"},{"line_number":201,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":202,"context_line":"        # Assert bad request status for bad request with missing project_id"},{"line_number":203,"context_line":"        self.post("},{"line_number":204,"context_line":"            \u0027/credentials\u0027,"},{"line_number":205,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_b6992ac6","line":202,"in_reply_to":"da20952f_f654b4fe","updated":"2015-09-01 02:01:00.000000000","message":"agreed :)","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"01a0994df411ad34668585f0d7216db1228e3fa8","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                                      project_id\u003dself.project_id)"},{"line_number":213,"context_line":"        ref[\u0027blob\u0027] \u003d \u0027{\"abc\":\"def\"d}\u0027"},{"line_number":214,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":215,"context_line":"        # Assert bad request containing invalid blob"},{"line_number":216,"context_line":"        response \u003d self.post("},{"line_number":217,"context_line":"            \u0027/credentials\u0027,"},{"line_number":218,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_b6439c41","line":215,"updated":"2015-08-31 04:11:21.000000000","message":"maybe add status after request","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6d1b0d5c62fd361371035870a20c26528baa4418","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                                      project_id\u003dself.project_id)"},{"line_number":213,"context_line":"        ref[\u0027blob\u0027] \u003d \u0027{\"abc\":\"def\"d}\u0027"},{"line_number":214,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":215,"context_line":"        # Assert bad request containing invalid blob"},{"line_number":216,"context_line":"        response \u003d self.post("},{"line_number":217,"context_line":"            \u0027/credentials\u0027,"},{"line_number":218,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_d6493e32","line":215,"in_reply_to":"da20952f_b6439c41","updated":"2015-09-01 02:01:00.000000000","message":"Done","commit_id":"81d7d0971eba95060574d84b0784d40c4b4b2ccd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":253,"context_line":"                \"secret\": uuid.uuid4().hex}"},{"line_number":254,"context_line":"        ref[\u0027blob\u0027] \u003d json.dumps(blob)"},{"line_number":255,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":256,"context_line":"        # Assert bad request status with missing project_id"},{"line_number":257,"context_line":"        self.post("},{"line_number":258,"context_line":"            \u0027/credentials\u0027,"},{"line_number":259,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_8e8944cd","line":256,"updated":"2015-09-14 00:19:41.000000000","message":"change \"with\" to \"when\"","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"169fa0681ae1f8f94b295e30a30365b93a05d14b","unresolved":false,"context_lines":[{"line_number":253,"context_line":"                \"secret\": uuid.uuid4().hex}"},{"line_number":254,"context_line":"        ref[\u0027blob\u0027] \u003d json.dumps(blob)"},{"line_number":255,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":256,"context_line":"        # Assert bad request status with missing project_id"},{"line_number":257,"context_line":"        self.post("},{"line_number":258,"context_line":"            \u0027/credentials\u0027,"},{"line_number":259,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_2904b213","line":256,"in_reply_to":"ba15a1d1_8e8944cd","updated":"2015-09-14 00:22:13.000000000","message":"Done","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                                      project_id\u003dself.project_id)"},{"line_number":267,"context_line":"        ref[\u0027blob\u0027] \u003d \u0027{\"abc\":\"def\"d}\u0027"},{"line_number":268,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":269,"context_line":"        # Assert bad request status containing invalid blob"},{"line_number":270,"context_line":"        response \u003d self.post("},{"line_number":271,"context_line":"            \u0027/credentials\u0027,"},{"line_number":272,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ae8688b7","line":269,"updated":"2015-09-14 00:19:41.000000000","message":"add \"when request contains invalid blob.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"169fa0681ae1f8f94b295e30a30365b93a05d14b","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                                      project_id\u003dself.project_id)"},{"line_number":267,"context_line":"        ref[\u0027blob\u0027] \u003d \u0027{\"abc\":\"def\"d}\u0027"},{"line_number":268,"context_line":"        ref[\u0027type\u0027] \u003d \u0027ec2\u0027"},{"line_number":269,"context_line":"        # Assert bad request status containing invalid blob"},{"line_number":270,"context_line":"        response \u003d self.post("},{"line_number":271,"context_line":"            \u0027/credentials\u0027,"},{"line_number":272,"context_line":"            body\u003d{\u0027credential\u0027: ref}, expected_status\u003dhttp_client.BAD_REQUEST)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_c908962b","line":269,"in_reply_to":"ba15a1d1_ae8688b7","updated":"2015-09-14 00:22:13.000000000","message":"Done","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2bff698f34e92b6f3f69164270b49617c071fd1e","unresolved":false,"context_lines":[{"line_number":1091,"context_line":"    def test_update_idp_immutable_attributes(self):"},{"line_number":1092,"context_line":"        \"\"\"Update IdP\u0027s immutable parameters."},{"line_number":1093,"context_line":""},{"line_number":1094,"context_line":"        Expect HTTP 403 code."},{"line_number":1095,"context_line":""},{"line_number":1096,"context_line":"        \"\"\""},{"line_number":1097,"context_line":"        default_resp \u003d self._create_default_idp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_cea3bf4e","side":"PARENT","line":1094,"updated":"2015-08-26 17:56:58.000000000","message":"why remove this?","commit_id":"40ecf5e61e2d6277d38d5b0bf04201db4f58583b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"eeaebd8c6674ac19467b02c21b86372810fbd422","unresolved":false,"context_lines":[{"line_number":1091,"context_line":"    def test_update_idp_immutable_attributes(self):"},{"line_number":1092,"context_line":"        \"\"\"Update IdP\u0027s immutable parameters."},{"line_number":1093,"context_line":""},{"line_number":1094,"context_line":"        Expect HTTP 403 code."},{"line_number":1095,"context_line":""},{"line_number":1096,"context_line":"        \"\"\""},{"line_number":1097,"context_line":"        default_resp \u003d self._create_default_idp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_75934dfb","side":"PARENT","line":1094,"in_reply_to":"da20952f_cea3bf4e","updated":"2015-08-27 05:45:56.000000000","message":"Done","commit_id":"40ecf5e61e2d6277d38d5b0bf04201db4f58583b"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2bff698f34e92b6f3f69164270b49617c071fd1e","unresolved":false,"context_lines":[{"line_number":1092,"context_line":"    def test_update_idp_immutable_attributes(self):"},{"line_number":1093,"context_line":"        \"\"\"Update IdP\u0027s immutable parameters."},{"line_number":1094,"context_line":""},{"line_number":1095,"context_line":"        Expect 403 code."},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"        \"\"\""},{"line_number":1098,"context_line":"        default_resp \u003d self._create_default_idp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_eebb2374","line":1095,"updated":"2015-08-26 17:56:58.000000000","message":"expect HTTP Conflict *","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"eeaebd8c6674ac19467b02c21b86372810fbd422","unresolved":false,"context_lines":[{"line_number":1092,"context_line":"    def test_update_idp_immutable_attributes(self):"},{"line_number":1093,"context_line":"        \"\"\"Update IdP\u0027s immutable parameters."},{"line_number":1094,"context_line":""},{"line_number":1095,"context_line":"        Expect 403 code."},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"        \"\"\""},{"line_number":1098,"context_line":"        default_resp \u003d self._create_default_idp()"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_f59e7d06","line":1095,"in_reply_to":"da20952f_eebb2374","updated":"2015-08-27 05:45:56.000000000","message":"Done","commit_id":"403af9336362977d50b4bf67ca1b59179ccb84dd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":1202,"context_line":"        \"\"\"Test whether Keystone checks for unique idp/protocol values."},{"line_number":1203,"context_line":""},{"line_number":1204,"context_line":"        Add same protocol twice, expect Keystone to reject a latter call and"},{"line_number":1205,"context_line":"        return HTTP 409 code."},{"line_number":1206,"context_line":""},{"line_number":1207,"context_line":"        \"\"\""},{"line_number":1208,"context_line":"        url \u003d self.base_url(suffix\u003d\u0027%(idp_id)s/protocols/%(protocol_id)s\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ceb5fc7e","line":1205,"updated":"2015-09-14 00:19:41.000000000","message":"CONFLICT","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":1207,"context_line":"        \"\"\""},{"line_number":1208,"context_line":"        url \u003d self.base_url(suffix\u003d\u0027%(idp_id)s/protocols/%(protocol_id)s\u0027)"},{"line_number":1209,"context_line":""},{"line_number":1210,"context_line":"        kwargs \u003d {\u0027expected_status\u0027: 201}"},{"line_number":1211,"context_line":"        resp, idp_id, proto \u003d self._assign_protocol_to_idp(proto\u003d\u0027saml2\u0027,"},{"line_number":1212,"context_line":"                                                           url\u003durl, **kwargs)"},{"line_number":1213,"context_line":"        kwargs \u003d {\u0027expected_status\u0027: http_client.CONFLICT}"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_0ebc546b","line":1210,"updated":"2015-09-14 00:19:41.000000000","message":"missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":1219,"context_line":"    def test_assign_protocol_to_nonexistent_idp(self):"},{"line_number":1220,"context_line":"        \"\"\"Assign protocol to IdP that doesn\u0027t exist."},{"line_number":1221,"context_line":""},{"line_number":1222,"context_line":"        Expect HTTP 404 code."},{"line_number":1223,"context_line":""},{"line_number":1224,"context_line":"        \"\"\""},{"line_number":1225,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_8eb0648d","line":1222,"updated":"2015-09-14 00:19:41.000000000","message":"Not Found","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":1292,"context_line":"    def test_delete_protocol(self):"},{"line_number":1293,"context_line":"        \"\"\"Delete protocol."},{"line_number":1294,"context_line":""},{"line_number":1295,"context_line":"        Expect HTTP 404 code for the GET call after the protocol is deleted."},{"line_number":1296,"context_line":""},{"line_number":1297,"context_line":"        \"\"\""},{"line_number":1298,"context_line":"        url \u003d self.base_url(suffix\u003d\u0027/%(idp_id)s/\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_eeba406e","line":1295,"updated":"2015-09-14 00:19:41.000000000","message":"Not Found","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":1365,"context_line":"        mapping_id \u003d self._get_id_from_response(resp)"},{"line_number":1366,"context_line":"        url \u003d url % {\u0027mapping_id\u0027: str(mapping_id)}"},{"line_number":1367,"context_line":"        resp \u003d self.delete(url)"},{"line_number":1368,"context_line":"        self.assertResponseStatus(resp, 204)"},{"line_number":1369,"context_line":"        self.get(url, expected_status\u003dhttp_client.NOT_FOUND)"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"    def test_mapping_get(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_aead2833","line":1368,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6ae97a1f261da3421031f1099a9d3725e2a0e169","unresolved":false,"context_lines":[{"line_number":1365,"context_line":"        mapping_id \u003d self._get_id_from_response(resp)"},{"line_number":1366,"context_line":"        url \u003d url % {\u0027mapping_id\u0027: str(mapping_id)}"},{"line_number":1367,"context_line":"        resp \u003d self.delete(url)"},{"line_number":1368,"context_line":"        self.assertResponseStatus(resp, 204)"},{"line_number":1369,"context_line":"        self.get(url, expected_status\u003dhttp_client.NOT_FOUND)"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"    def test_mapping_get(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_901aba6d","line":1368,"in_reply_to":"ba15a1d1_aead2833","updated":"2015-09-14 05:46:01.000000000","message":"these (2xx, 3xx, 5xx) will be in another review since the change is huge.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":2789,"context_line":"    def test_invalid_scope_body(self):"},{"line_number":2790,"context_line":"        \"\"\"Test that missing the scope in request body raises an exception."},{"line_number":2791,"context_line":""},{"line_number":2792,"context_line":"        Raises exception.SchemaValidationError() - error code 400"},{"line_number":2793,"context_line":""},{"line_number":2794,"context_line":"        \"\"\""},{"line_number":2795,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_6ea71050","line":2792,"updated":"2015-09-14 00:19:41.000000000","message":"Bad Request","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":2804,"context_line":"    def test_invalid_token_body(self):"},{"line_number":2805,"context_line":"        \"\"\"Test that missing the token in request body raises an exception."},{"line_number":2806,"context_line":""},{"line_number":2807,"context_line":"        Raises exception.SchemaValidationError() - error code 400"},{"line_number":2808,"context_line":""},{"line_number":2809,"context_line":"        \"\"\""},{"line_number":2810,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_2e6838f5","line":2807,"updated":"2015-09-14 00:19:41.000000000","message":"Bad Request","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":2819,"context_line":"    def test_sp_not_found(self):"},{"line_number":2820,"context_line":"        \"\"\"Test SAML generation with an invalid service provider ID."},{"line_number":2821,"context_line":""},{"line_number":2822,"context_line":"        Raises exception.ServiceProviderNotFound() - error code 404"},{"line_number":2823,"context_line":""},{"line_number":2824,"context_line":"        \"\"\""},{"line_number":2825,"context_line":"        sp_id \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ce6c1c0b","line":2822,"updated":"2015-09-14 00:19:41.000000000","message":"Not Found","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":2844,"context_line":"    def test_token_not_found(self):"},{"line_number":2845,"context_line":"        \"\"\"Test that an invalid token in the request body raises an exception."},{"line_number":2846,"context_line":""},{"line_number":2847,"context_line":"        Raises exception.TokenNotFound() - error code 404"},{"line_number":2848,"context_line":""},{"line_number":2849,"context_line":"        \"\"\""},{"line_number":2850,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ee71e0e1","line":2847,"updated":"2015-09-14 00:19:41.000000000","message":"Not Found","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":3253,"context_line":"        new_sp_ref[\u0027relay_state_prefix\u0027] \u003d non_default_prefix"},{"line_number":3254,"context_line":"        url \u003d self.base_url(suffix\u003dself.SERVICE_PROVIDER_ID)"},{"line_number":3255,"context_line":"        resp \u003d self.patch(url, body\u003d{\u0027service_provider\u0027: new_sp_ref},"},{"line_number":3256,"context_line":"                          expected_status\u003d200)"},{"line_number":3257,"context_line":"        sp_result \u003d resp.result[\u0027service_provider\u0027]"},{"line_number":3258,"context_line":"        self.assertEqual(non_default_prefix,"},{"line_number":3259,"context_line":"                         sp_result[\u0027relay_state_prefix\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ae7448cf","line":3256,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":3260,"context_line":""},{"line_number":3261,"context_line":"    def test_delete_service_provider(self):"},{"line_number":3262,"context_line":"        url \u003d self.base_url(suffix\u003dself.SERVICE_PROVIDER_ID)"},{"line_number":3263,"context_line":"        self.delete(url, expected_status\u003d204)"},{"line_number":3264,"context_line":""},{"line_number":3265,"context_line":"    def test_delete_service_provider_404(self):"},{"line_number":3266,"context_line":"        url \u003d self.base_url(suffix\u003duuid.uuid4().hex)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_8e7704d4","line":3263,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"}],"keystone/tests/unit/test_v3_identity.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        # auth as user with a token should work before a password change"},{"line_number":295,"context_line":"        old_token_auth \u003d self.build_authentication_request(token\u003dold_token)"},{"line_number":296,"context_line":"        self.v3_authenticate_token(old_token_auth, expected_status\u003d201)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        # administrative password reset"},{"line_number":299,"context_line":"        new_password \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_6e7e30b0","line":296,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        new_password \u003d uuid.uuid4().hex"},{"line_number":300,"context_line":"        self.patch(\u0027/users/%s\u0027 % user_ref[\u0027id\u0027],"},{"line_number":301,"context_line":"                   body\u003d{\u0027user\u0027: {\u0027password\u0027: new_password}},"},{"line_number":302,"context_line":"                   expected_status\u003d200)"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # auth as user with original password should not work after change"},{"line_number":305,"context_line":"        self.v3_authenticate_token(old_password_auth,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_4e81ec8e","line":302,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        new_password_auth \u003d self.build_authentication_request("},{"line_number":314,"context_line":"            user_id\u003duser_ref[\u0027id\u0027],"},{"line_number":315,"context_line":"            password\u003dnew_password)"},{"line_number":316,"context_line":"        self.v3_authenticate_token(new_password_auth, expected_status\u003d201)"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    def test_update_user_domain_id(self):"},{"line_number":319,"context_line":"        \"\"\"Call ``PATCH /users/{user_id}`` with domain_id.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_0e4a1484","line":316,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":577,"context_line":"                                          expected_status\u003d201)"},{"line_number":578,"context_line":"        # original token works"},{"line_number":579,"context_line":"        old_token_auth \u003d self.build_authentication_request(token\u003dtoken_id)"},{"line_number":580,"context_line":"        self.v3_authenticate_token(old_token_auth, expected_status\u003d201)"},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"        # change password"},{"line_number":583,"context_line":"        new_password \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ee48008a","line":580,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":583,"context_line":"        new_password \u003d uuid.uuid4().hex"},{"line_number":584,"context_line":"        self.change_password(password\u003dnew_password,"},{"line_number":585,"context_line":"                             original_password\u003dself.user_ref[\u0027password\u0027],"},{"line_number":586,"context_line":"                             expected_status\u003d204)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"        # old password fails"},{"line_number":589,"context_line":"        self.get_request_token(self.user_ref[\u0027password\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ce43bc6b","line":586,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"}],"keystone/tests/unit/test_v3_oauth1.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        resp \u003d self.delete(\u0027/users/%(user)s/OS-OAUTH1/access_tokens/%(auth)s\u0027"},{"line_number":401,"context_line":"                           % {\u0027user\u0027: self.user_id,"},{"line_number":402,"context_line":"                              \u0027auth\u0027: self.access_token.key})"},{"line_number":403,"context_line":"        self.assertResponseStatus(resp, 204)"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"        # Check Keystone Token no longer exists"},{"line_number":406,"context_line":"        headers \u003d {\u0027X-Subject-Token\u0027: self.keystone_token_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_8e5e2444","line":403,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        consumer_id \u003d self.consumer[\u0027key\u0027]"},{"line_number":416,"context_line":"        resp \u003d self.delete(\u0027/OS-OAUTH1/consumers/%(consumer_id)s\u0027"},{"line_number":417,"context_line":"                           % {\u0027consumer_id\u0027: consumer_id})"},{"line_number":418,"context_line":"        self.assertResponseStatus(resp, 204)"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        # List access_token should be 0"},{"line_number":421,"context_line":"        resp \u003d self.get(\u0027/users/%(user_id)s/OS-OAUTH1/access_tokens\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ae5be853","line":418,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        url \u003d self._authorize_request_token(request_key)"},{"line_number":647,"context_line":"        body \u003d {\u0027roles\u0027: [{\u0027id\u0027: self.role_id}]}"},{"line_number":648,"context_line":"        resp \u003d self.put(url, body\u003dbody, expected_status\u003d200)"},{"line_number":649,"context_line":"        verifier \u003d resp.result[\u0027token\u0027][\u0027oauth_verifier\u0027]"},{"line_number":650,"context_line":"        self.assertIsNotNone(verifier)"},{"line_number":651,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_6e55d01b","line":648,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"}],"keystone/tests/unit/test_versions.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":793,"context_line":""},{"line_number":794,"context_line":"        # request to /v3 should pass"},{"line_number":795,"context_line":"        resp \u003d client.get(\u0027/v3/\u0027)"},{"line_number":796,"context_line":"        self.assertEqual(200, resp.status_int)"},{"line_number":797,"context_line":"        data \u003d jsonutils.loads(resp.body)"},{"line_number":798,"context_line":"        expected \u003d v3_VERSION_RESPONSE"},{"line_number":799,"context_line":"        self._paste_in_port(expected[\u0027version\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ce3adce7","line":796,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":813,"context_line":"                            \u0027http://localhost:%s/v3/\u0027 %"},{"line_number":814,"context_line":"                            CONF.eventlet_server.public_port)"},{"line_number":815,"context_line":"        resp \u003d client.get(\u0027/\u0027)"},{"line_number":816,"context_line":"        self.assertEqual(300, resp.status_int)"},{"line_number":817,"context_line":"        data \u003d jsonutils.loads(resp.body)"},{"line_number":818,"context_line":"        self.assertEqual(v3_only_response, data)"},{"line_number":819,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_8e25c4c3","line":816,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5e12b5ef65eb2eae1388dc651555dff95b928b3e","unresolved":false,"context_lines":[{"line_number":826,"context_line":""},{"line_number":827,"context_line":"        # request to /v2.0 should pass"},{"line_number":828,"context_line":"        resp \u003d client.get(\u0027/v2.0/\u0027)"},{"line_number":829,"context_line":"        self.assertEqual(200, resp.status_int)"},{"line_number":830,"context_line":"        data \u003d jsonutils.loads(resp.body)"},{"line_number":831,"context_line":"        expected \u003d v2_VERSION_RESPONSE"},{"line_number":832,"context_line":"        self._paste_in_port(expected[\u0027version\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_2e36f803","line":829,"updated":"2015-09-14 00:19:41.000000000","message":"Missed one.","commit_id":"f0bc7980d4d22ce632ea5a612db67599fc6aa6ea"}]}
