)]}'
{"keystone/resource/core.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"2c603589de2cd5cb3865e55e8cf19c1dd22e4de5","unresolved":false,"context_lines":[{"line_number":463,"context_line":"        else:"},{"line_number":464,"context_line":"            self._delete_project(project_id, initiator, cascade)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"        assignment.COMPUTED_ASSIGNMENTS_REGION.invalidate()"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"    def _delete_project(self, project_id, initiator\u003dNone, cascade\u003dFalse):"},{"line_number":469,"context_line":"        # Use the driver directly to prevent using old cached value."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_4f83b104","line":466,"range":{"start_line":466,"start_character":0,"end_line":466,"end_character":59},"updated":"2018-07-11 02:30:03.000000000","message":"No need this line, the assignment cache has been invalidated already. See \"_post_delete_cleanup_project\"","commit_id":"995f2b2abbaf8f160f03ef704c18839d0b24d16f"}],"keystone/tests/unit/test_v3_resource.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d7717663e7e66744e147afc049cdbd9b8bb10d3d","unresolved":false,"context_lines":[{"line_number":1705,"context_line":""},{"line_number":1706,"context_line":"    def test_list_projects_by_user_with_inherited_role(self):"},{"line_number":1707,"context_line":"        \"\"\"Ensure the cache is invalidated when creating/deleting a project.\"\"\""},{"line_number":1708,"context_line":"        domain \u003d unit.new_domain_ref()"},{"line_number":1709,"context_line":"        PROVIDERS.resource_api.create_domain(domain[\u0027id\u0027], domain)"},{"line_number":1710,"context_line":""},{"line_number":1711,"context_line":"        user \u003d unit.create_user(PROVIDERS.identity_api, domain_id\u003ddomain[\u0027id\u0027])"},{"line_number":1712,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_971b2dc9","line":1709,"range":{"start_line":1708,"start_character":8,"end_line":1709,"end_character":66},"updated":"2018-07-10 18:48:20.000000000","message":"In functional API tests we try and exercise the entire API as opposed to accessing the backend/managers directly to set things up (e.g. self.post(\u0027/domains\u0027, body\u003dbody))","commit_id":"e66ca42ae205a5d40373a09b6374d5b28941a4da"}]}
