)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"29daa2043179f325d1927efae349850a386dca0c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"the role exists before continuing to delete a grant."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I4f8a26a71096c7dd456195751562cba26c9853d7"},{"line_number":18,"context_line":"Closes-Bug: 1406776"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bff0334d_cc9a4c6d","line":18,"range":{"start_line":18,"start_character":12,"end_line":18,"end_character":19},"updated":"2017-04-05 17:59:11.000000000","message":"nit: #1406776","commit_id":"a1683df77f8b71de938b7aef577d05d883667ccd"}],"keystone/assignment/core.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"af57e9975d6b587fb10aba19e99c904cb989e8ba","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    def delete_grant(self, role_id, user_id\u003dNone, group_id\u003dNone,"},{"line_number":349,"context_line":"                     domain_id\u003dNone, project_id\u003dNone,"},{"line_number":350,"context_line":"                     inherited_to_projects\u003dFalse, context\u003dNone):"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        # check if role exist before any processing"},{"line_number":353,"context_line":"        self.role_api.get_role(role_id)"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_4773ae81","line":351,"updated":"2017-04-05 21:32:34.000000000","message":"nit: start the method immediately instead of having whitespace.","commit_id":"a1683df77f8b71de938b7aef577d05d883667ccd"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"29daa2043179f325d1927efae349850a386dca0c","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                     domain_id\u003dNone, project_id\u003dNone,"},{"line_number":350,"context_line":"                     inherited_to_projects\u003dFalse, context\u003dNone):"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        # check if role exist before any processing"},{"line_number":353,"context_line":"        self.role_api.get_role(role_id)"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        if group_id is None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_cc736c4d","line":352,"range":{"start_line":352,"start_character":8,"end_line":352,"end_character":51},"updated":"2017-04-05 17:59:11.000000000","message":"++","commit_id":"a1683df77f8b71de938b7aef577d05d883667ccd"}],"keystone/tests/unit/assignment/test_backends.py":[{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"76974a44338aeb898dda286a1a10dba3e5e37268","unresolved":false,"context_lines":[{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"    def test_grant_crud_throws_exception_if_invalid_role(self):"},{"line_number":1260,"context_line":"        \"\"\"Ensure RoleNotFound thrown if role does not exist.\"\"\""},{"line_number":1261,"context_line":"        def assert_role_not_found_exception(f, **kwargs):"},{"line_number":1262,"context_line":"            self.assertRaises(exception.RoleNotFound, f,"},{"line_number":1263,"context_line":"                              role_id\u003duuid.uuid4().hex, **kwargs)"},{"line_number":1264,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_9d19148a","line":1261,"range":{"start_line":1261,"start_character":12,"end_line":1261,"end_character":43},"updated":"2017-04-05 16:24:59.000000000","message":"also, this can be refactored to assertRoleNotFoundException","commit_id":"262af883d34ccbe58fe466c02fcb08893d5380fa"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"4b0161c9ed0aa6ef5edc0ea7ceaa17cc3234f403","unresolved":false,"context_lines":[{"line_number":1262,"context_line":"            self.assertRaises(exception.RoleNotFound, f,"},{"line_number":1263,"context_line":"                              role_id\u003duuid.uuid4().hex, **kwargs)"},{"line_number":1264,"context_line":""},{"line_number":1265,"context_line":"            user \u003d unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":1266,"context_line":"            user_resp \u003d self.identity_api.create_user(user)"},{"line_number":1267,"context_line":"            group \u003d unit.new_group_ref("},{"line_number":1268,"context_line":"                domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":1269,"context_line":"            group_resp \u003d self.identity_api.create_group(group)"},{"line_number":1270,"context_line":"            project \u003d unit.new_project_ref("},{"line_number":1271,"context_line":"                domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":1272,"context_line":"            project_resp \u003d self.resource_api.create_project(project[\u0027id\u0027],"},{"line_number":1273,"context_line":"                                                            project)"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"            for manager_call in [self.assignment_api.create_grant,"},{"line_number":1276,"context_line":"                                 self.assignment_api.get_grant]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_cd017808","line":1273,"range":{"start_line":1265,"start_character":12,"end_line":1273,"end_character":68},"updated":"2017-03-28 23:16:30.000000000","message":"Why is this block now under \u0027assert_role_not_found_exception\u0027? Is this a mistake?","commit_id":"262af883d34ccbe58fe466c02fcb08893d5380fa"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"b3e0fc605d3d54b0a0c56449d45086e45d73a896","unresolved":false,"context_lines":[{"line_number":1262,"context_line":"            self.assertRaises(exception.RoleNotFound, f,"},{"line_number":1263,"context_line":"                              role_id\u003duuid.uuid4().hex, **kwargs)"},{"line_number":1264,"context_line":""},{"line_number":1265,"context_line":"        def assert_role_assignment_not_found_exception(f, **kwargs):"},{"line_number":1266,"context_line":"            self.assertRaises(exception.RoleNotFound, f,"},{"line_number":1267,"context_line":"                              role_id\u003duuid.uuid4().hex, **kwargs)"},{"line_number":1268,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_ec6cf09d","line":1265,"range":{"start_line":1265,"start_character":12,"end_line":1265,"end_character":54},"updated":"2017-04-05 17:54:11.000000000","message":"You can remove this method now","commit_id":"3771f6814de72917c99e82313531876381511603"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"1e5bb0e8a5f9ad2ef782f239deb60b38c2a02e1c","unresolved":false,"context_lines":[{"line_number":1297,"context_line":"            self.assignment_api.delete_grant,"},{"line_number":1298,"context_line":"            user_id\u003duser_resp[\u0027id\u0027],"},{"line_number":1299,"context_line":"            domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":1300,"context_line":"        assert_role_not_found_exception("},{"line_number":1301,"context_line":"            self.assignment_api.delete_grant,"},{"line_number":1302,"context_line":"            group_id\u003dgroup_resp[\u0027id\u0027],"},{"line_number":1303,"context_line":"            domain_id\u003dCONF.identity.default_domain_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_12f3aaa0","line":1300,"updated":"2017-04-05 18:31:11.000000000","message":"Why did these need to be updated ?","commit_id":"a1683df77f8b71de938b7aef577d05d883667ccd"},{"author":{"_account_id":22219,"name":"Anthony Washington","email":"anthony.washington@intel.com","username":"antwash"},"change_message_id":"e8314ff5e5cbb9c8d1038b9644487e04116e4455","unresolved":false,"context_lines":[{"line_number":1297,"context_line":"            self.assignment_api.delete_grant,"},{"line_number":1298,"context_line":"            user_id\u003duser_resp[\u0027id\u0027],"},{"line_number":1299,"context_line":"            domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":1300,"context_line":"        assert_role_not_found_exception("},{"line_number":1301,"context_line":"            self.assignment_api.delete_grant,"},{"line_number":1302,"context_line":"            group_id\u003dgroup_resp[\u0027id\u0027],"},{"line_number":1303,"context_line":"            domain_id\u003dCONF.identity.default_domain_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_06c92c77","line":1300,"in_reply_to":"bff0334d_12f3aaa0","updated":"2017-04-05 20:25:22.000000000","message":"The exception being return now is exception.RoleNotFound instead of exception.RoleAssignmentNotFound.","commit_id":"a1683df77f8b71de938b7aef577d05d883667ccd"}]}
