)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3b23879c6563c2aa5a2302adad27312c2613aca7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kévin Bernard-Allies \u003ckbernard-allies@bajoo.fr\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-09-16 16:50:08 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Revoke the tokens of group members when a group role is revoked"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes a bug introduced by the previous commit:"},{"line_number":10,"context_line":"https://review.openstack.org/#/c/115338/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa98f980_d2063921","line":7,"updated":"2014-09-16 16:05:40.000000000","message":"(nit) This line is a little long and will be automatically shortened when using certain tools to view commits.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_GIT_commit_message_structure","commit_id":"2e4d3e4b6f59f58e681f7d1d07516cd6b5cd4156"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fc016fbc326536d4df9ac4cf773ee10e27a41afa","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Revoke the tokens of group members when a group role is revoked"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes a bug introduced by the previous commit:"},{"line_number":10,"context_line":"https://review.openstack.org/#/c/115338/"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If revoke_api is not enabled, tokens of group members are not revoked"},{"line_number":13,"context_line":"when a group role is revoked."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa98f980_294713be","line":10,"updated":"2014-09-16 20:33:36.000000000","message":"use the commit hash rather than the review URL. I shouldn\u0027t need a browser to figure out what change it was.","commit_id":"2e4d3e4b6f59f58e681f7d1d07516cd6b5cd4156"}],"keystone/tests/test_v3_identity.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"df5d4bd25b70e04f769ebe82e2fd05c3d692da1c","unresolved":false,"context_lines":[{"line_number":1102,"context_line":"        self.put(member_url, expected_status\u003d404)"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":"    def test_token_revoked_once_group_role_grant_revoked(self):"},{"line_number":1105,"context_line":"        \"\"\"Test token is revoked when group role grant is revoked\u0027"},{"line_number":1106,"context_line":""},{"line_number":1107,"context_line":"        Test that a project scoped token becomes invalid when"},{"line_number":1108,"context_line":"        a role granted to a group the user belongs is revoked."}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_81a8e4dc","line":1105,"updated":"2014-09-16 13:18:38.000000000","message":"extra \u0027 ?","commit_id":"3647eb0706275f31c9ad5d4d0e182755b962562f"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"df5d4bd25b70e04f769ebe82e2fd05c3d692da1c","unresolved":false,"context_lines":[{"line_number":1105,"context_line":"        \"\"\"Test token is revoked when group role grant is revoked\u0027"},{"line_number":1106,"context_line":""},{"line_number":1107,"context_line":"        Test that a project scoped token becomes invalid when"},{"line_number":1108,"context_line":"        a role granted to a group the user belongs is revoked."},{"line_number":1109,"context_line":"        \"\"\""},{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"        # If enabled, the revoke API will revoke tokens first."}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_617a2079","line":1108,"updated":"2014-09-16 13:18:38.000000000","message":"Maybe you should make clear the scenario you are considering","commit_id":"3647eb0706275f31c9ad5d4d0e182755b962562f"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"df5d4bd25b70e04f769ebe82e2fd05c3d692da1c","unresolved":false,"context_lines":[{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"        # adds user to the project and to the group."},{"line_number":1121,"context_line":"        self.assignment_api.add_user_to_project(user_id\u003dself.user[\u0027id\u0027],"},{"line_number":1122,"context_line":"                                                tenant_id\u003dself.project[\u0027id\u0027])"},{"line_number":1123,"context_line":"        self.identity_api.add_user_to_group(user_id\u003dself.user[\u0027id\u0027],"},{"line_number":1124,"context_line":"                                            group_id\u003dself.group[\u0027id\u0027])"},{"line_number":1125,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_015074d3","line":1122,"updated":"2014-09-16 13:18:38.000000000","message":"isn\u0027t the grant given for the group? This is unecessary","commit_id":"3647eb0706275f31c9ad5d4d0e182755b962562f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fc016fbc326536d4df9ac4cf773ee10e27a41afa","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"        all tokens related to this scope and belonging to one of the members"},{"line_number":1109,"context_line":"        of this group should be revoked."},{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"        The revocation should be independently to the presence"},{"line_number":1112,"context_line":"        of the revoke API."},{"line_number":1113,"context_line":"        \"\"\""},{"line_number":1114,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_a98143c5","line":1111,"updated":"2014-09-16 20:33:36.000000000","message":"change \"independently to\" to \"independent of\"","commit_id":"2e4d3e4b6f59f58e681f7d1d07516cd6b5cd4156"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fc016fbc326536d4df9ac4cf773ee10e27a41afa","unresolved":false,"context_lines":[{"line_number":1143,"context_line":"                                         project_id\u003dself.project[\u0027id\u0027],"},{"line_number":1144,"context_line":"                                         group_id\u003dself.group[\u0027id\u0027])"},{"line_number":1145,"context_line":""},{"line_number":1146,"context_line":"        # validates the same token again; it should not longer be valid."},{"line_number":1147,"context_line":"        self.head(\u0027/auth/tokens\u0027,"},{"line_number":1148,"context_line":"                  headers\u003d{\u0027x-subject-token\u0027: token},"},{"line_number":1149,"context_line":"                  expected_status\u003d404)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_c9d4c7bf","line":1146,"updated":"2014-09-16 20:33:36.000000000","message":"change \"not\" to \"no\"","commit_id":"2e4d3e4b6f59f58e681f7d1d07516cd6b5cd4156"}]}
