)]}'
{"keystone/common/policies/grant.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5bc9ae992f09d803f2fe09efc8078e358e191018","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    name\u003dbase.IDENTITY % \u0027revoke_grant\u0027, check_str\u003dbase.RULE_ADMIN_REQUIRED"},{"line_number":75,"context_line":")"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"DEPRECATED_REASON \u003d \"\"\""},{"line_number":78,"context_line":"As of the Stein release, the assignment API now understands default roles and"},{"line_number":79,"context_line":"system-scoped tokens, making the API more granular by default without"},{"line_number":80,"context_line":"compromising security. The new policy defaults account for these changes"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_c1435d3e","line":77,"updated":"2019-06-26 20:02:29.000000000","message":"We\u0027ll need to walk through what to do with these since we changing an already deprecated policy.","commit_id":"e6c7ee694fa006b0b1d92aee274897c5a1e5712b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"9566b7aedb9de1c192255ff13b1b5a826890919c","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from keystone.common.policies import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# Two of the three portions of this check string are specific to domain"},{"line_number":19,"context_line":"# readers. The first catches domain readers who are checking or listing grants"},{"line_number":20,"context_line":"# for users. The second does the same for groups. We have to overload the check"},{"line_number":21,"context_line":"# string to handle both cases because `identity:check_grant` is used to protect"}],"source_content_type":"text/x-python","patch_set":14,"id":"5faad753_0f46db7d","line":18,"updated":"2019-09-10 18:07:31.000000000","message":"This comment is out of date, there\u0027s now five parts to this check string. It also needs more parts, since it doesn\u0027t include a way to handle domain specific roles.","commit_id":"908ab223543d2b3720317eef0a4ef3495e3d67c6"}],"keystone/tests/unit/protection/v3/test_grants.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":732,"context_line":""},{"line_number":733,"context_line":"    def test_user_cannot_create_grant_for_user_on_project(self):"},{"line_number":734,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":735,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":736,"context_line":"        )"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_cc6823bc","line":735,"range":{"start_line":735,"start_character":40,"end_line":735,"end_character":71},"updated":"2019-07-03 18:00:53.000000000","message":"Should this be self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":732,"context_line":""},{"line_number":733,"context_line":"    def test_user_cannot_create_grant_for_user_on_project(self):"},{"line_number":734,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":735,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":736,"context_line":"        )"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_73ce8e84","line":735,"range":{"start_line":735,"start_character":40,"end_line":735,"end_character":71},"in_reply_to":"7faddb67_cc6823bc","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    def test_user_cannot_create_grant_for_user_on_domain(self):"},{"line_number":754,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":755,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":756,"context_line":"        )"},{"line_number":757,"context_line":""},{"line_number":758,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_ac5fe70c","line":755,"range":{"start_line":755,"start_character":40,"end_line":755,"end_character":71},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    def test_user_cannot_create_grant_for_user_on_domain(self):"},{"line_number":754,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":755,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":756,"context_line":"        )"},{"line_number":757,"context_line":""},{"line_number":758,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_93cb0a71","line":755,"range":{"start_line":755,"start_character":40,"end_line":755,"end_character":71},"in_reply_to":"7faddb67_ac5fe70c","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":770,"context_line":""},{"line_number":771,"context_line":"    def test_user_cannot_create_grant_for_group_on_project(self):"},{"line_number":772,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":773,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":774,"context_line":"        )"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_6c9fafb4","line":773,"range":{"start_line":773,"start_character":41,"end_line":773,"end_character":72},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":770,"context_line":""},{"line_number":771,"context_line":"    def test_user_cannot_create_grant_for_group_on_project(self):"},{"line_number":772,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":773,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":774,"context_line":"        )"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_13a5dab5","line":773,"range":{"start_line":773,"start_character":41,"end_line":773,"end_character":72},"in_reply_to":"7faddb67_6c9fafb4","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":775,"context_line":""},{"line_number":776,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":777,"context_line":"            uuid.uuid4().hex, unit.new_project_ref("},{"line_number":778,"context_line":"                domain_id\u003dCONF.identity.default_domain_id"},{"line_number":779,"context_line":"            )"},{"line_number":780,"context_line":"        )"},{"line_number":781,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_0ca4fb07","line":778,"range":{"start_line":778,"start_character":26,"end_line":778,"end_character":57},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":775,"context_line":""},{"line_number":776,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":777,"context_line":"            uuid.uuid4().hex, unit.new_project_ref("},{"line_number":778,"context_line":"                domain_id\u003dCONF.identity.default_domain_id"},{"line_number":779,"context_line":"            )"},{"line_number":780,"context_line":"        )"},{"line_number":781,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_d3ae6297","line":778,"range":{"start_line":778,"start_character":26,"end_line":778,"end_character":57},"in_reply_to":"7faddb67_0ca4fb07","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":792,"context_line":""},{"line_number":793,"context_line":"    def test_user_cannot_create_grant_for_group_on_domain(self):"},{"line_number":794,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":795,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":796,"context_line":"        )"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_ecaabfd0","line":795,"range":{"start_line":795,"start_character":41,"end_line":795,"end_character":72},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":792,"context_line":""},{"line_number":793,"context_line":"    def test_user_cannot_create_grant_for_group_on_domain(self):"},{"line_number":794,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":795,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":796,"context_line":"        )"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_7393ee5d","line":795,"range":{"start_line":795,"start_character":41,"end_line":795,"end_character":72},"in_reply_to":"7faddb67_ecaabfd0","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":880,"context_line":""},{"line_number":881,"context_line":"    def test_user_cannot_revoke_grant_from_user_on_project(self):"},{"line_number":882,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":883,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":884,"context_line":"        )"},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_8c90eb97","line":883,"range":{"start_line":883,"start_character":40,"end_line":883,"end_character":71},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":880,"context_line":""},{"line_number":881,"context_line":"    def test_user_cannot_revoke_grant_from_user_on_project(self):"},{"line_number":882,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":883,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":884,"context_line":"        )"},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_539a726e","line":883,"range":{"start_line":883,"start_character":40,"end_line":883,"end_character":71},"in_reply_to":"7faddb67_8c90eb97","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":885,"context_line":""},{"line_number":886,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":887,"context_line":"            uuid.uuid4().hex, unit.new_project_ref("},{"line_number":888,"context_line":"                domain_id\u003dCONF.identity.default_domain_id"},{"line_number":889,"context_line":"            )"},{"line_number":890,"context_line":"        )"},{"line_number":891,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_ac8da77c","line":888,"range":{"start_line":888,"start_character":26,"end_line":888,"end_character":57},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":885,"context_line":""},{"line_number":886,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":887,"context_line":"            uuid.uuid4().hex, unit.new_project_ref("},{"line_number":888,"context_line":"                domain_id\u003dCONF.identity.default_domain_id"},{"line_number":889,"context_line":"            )"},{"line_number":890,"context_line":"        )"},{"line_number":891,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_f3883e23","line":888,"range":{"start_line":888,"start_character":26,"end_line":888,"end_character":57},"in_reply_to":"7faddb67_ac8da77c","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":905,"context_line":""},{"line_number":906,"context_line":"    def test_user_cannot_revoke_grant_from_user_on_domain(self):"},{"line_number":907,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":908,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":909,"context_line":"        )"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_6ced6f24","line":908,"range":{"start_line":908,"start_character":40,"end_line":908,"end_character":71},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":905,"context_line":""},{"line_number":906,"context_line":"    def test_user_cannot_revoke_grant_from_user_on_domain(self):"},{"line_number":907,"context_line":"        user \u003d PROVIDERS.identity_api.create_user("},{"line_number":908,"context_line":"            unit.new_user_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":909,"context_line":"        )"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_5373524e","line":908,"range":{"start_line":908,"start_character":40,"end_line":908,"end_character":71},"in_reply_to":"7faddb67_6ced6f24","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    def test_user_cannot_revoke_grant_from_group_on_project(self):"},{"line_number":930,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":931,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":932,"context_line":"        )"},{"line_number":933,"context_line":""},{"line_number":934,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_ecd87f80","line":931,"range":{"start_line":931,"start_character":41,"end_line":931,"end_character":72},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":928,"context_line":""},{"line_number":929,"context_line":"    def test_user_cannot_revoke_grant_from_group_on_project(self):"},{"line_number":930,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":931,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":932,"context_line":"        )"},{"line_number":933,"context_line":""},{"line_number":934,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_f38d9e2a","line":931,"range":{"start_line":931,"start_character":41,"end_line":931,"end_character":72},"in_reply_to":"7faddb67_ecd87f80","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b27412b8f729496411285312414305e872fb629e","unresolved":false,"context_lines":[{"line_number":955,"context_line":""},{"line_number":956,"context_line":"    def test_user_cannot_revoke_grant_from_group_on_domain(self):"},{"line_number":957,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":958,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":959,"context_line":"        )"},{"line_number":960,"context_line":""},{"line_number":961,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_ace2872e","line":958,"range":{"start_line":958,"start_character":41,"end_line":958,"end_character":72},"updated":"2019-07-03 18:00:53.000000000","message":"self.domain_id?","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fab362ccb2c720d641d5442e8d771ea029f9b3f5","unresolved":false,"context_lines":[{"line_number":955,"context_line":""},{"line_number":956,"context_line":"    def test_user_cannot_revoke_grant_from_group_on_domain(self):"},{"line_number":957,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("},{"line_number":958,"context_line":"            unit.new_group_ref(domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":959,"context_line":"        )"},{"line_number":960,"context_line":""},{"line_number":961,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_b397263b","line":958,"range":{"start_line":958,"start_character":41,"end_line":958,"end_character":72},"in_reply_to":"7faddb67_ace2872e","updated":"2019-07-23 17:54:18.000000000","message":"Done","commit_id":"a96b4d06953d015ec5f838cfd2b3e2f3d51358d7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a549afb5a2986fdf3dba3ea4651b4fa7d4a9c6fb","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        )"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":573,"context_line":"            uuid.uuid4().hex, unit.new_project_ref(domain_id\u003dself.domain_id)"},{"line_number":574,"context_line":"        )"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        PROVIDERS.assignment_api.create_grant("}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_1cc5b43d","line":573,"range":{"start_line":573,"start_character":61,"end_line":573,"end_character":75},"updated":"2019-08-12 23:03:52.000000000","message":"Would be nice to have another set of tests that do the same thing but check what happens when the user is in self.domain_id but the project is the other domain","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f74815258eb764e8a5799adda63d5c5c63fe77f8","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        )"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":573,"context_line":"            uuid.uuid4().hex, unit.new_project_ref(domain_id\u003dself.domain_id)"},{"line_number":574,"context_line":"        )"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        PROVIDERS.assignment_api.create_grant("}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_4a6db896","line":573,"range":{"start_line":573,"start_character":61,"end_line":573,"end_character":75},"in_reply_to":"7faddb67_1cc5b43d","updated":"2019-09-10 00:03:36.000000000","message":"++ thanks for fixing this up","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a549afb5a2986fdf3dba3ea4651b4fa7d4a9c6fb","unresolved":false,"context_lines":[{"line_number":737,"context_line":""},{"line_number":738,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":739,"context_line":"            uuid.uuid4().hex, unit.new_project_ref("},{"line_number":740,"context_line":"                domain_id\u003dCONF.identity.default_domain_id"},{"line_number":741,"context_line":"            )"},{"line_number":742,"context_line":"        )"},{"line_number":743,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_9c90c444","line":740,"range":{"start_line":740,"start_character":26,"end_line":740,"end_character":57},"updated":"2019-08-12 23:03:52.000000000","message":"I think this needs to be self.domain_id in order to check that members and readers can\u0027t create this grant even for their own domain","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a549afb5a2986fdf3dba3ea4651b4fa7d4a9c6fb","unresolved":false,"context_lines":[{"line_number":757,"context_line":""},{"line_number":758,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("},{"line_number":759,"context_line":"            uuid.uuid4().hex, unit.new_domain_ref()"},{"line_number":760,"context_line":"        )"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"        with self.test_client() as c:"},{"line_number":763,"context_line":"            c.put("}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_1cca9445","line":760,"updated":"2019-08-12 23:03:52.000000000","message":"Is this supposed to create a whole new domain, or should it be testing that members/readers can\u0027t create grants on their own domains?","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a549afb5a2986fdf3dba3ea4651b4fa7d4a9c6fb","unresolved":false,"context_lines":[{"line_number":795,"context_line":""},{"line_number":796,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("},{"line_number":797,"context_line":"            uuid.uuid4().hex, unit.new_domain_ref()"},{"line_number":798,"context_line":"        )"},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"        with self.test_client() as c:"},{"line_number":801,"context_line":"            c.put("}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_7c04e87e","line":798,"updated":"2019-08-12 23:03:52.000000000","message":"Same here","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a549afb5a2986fdf3dba3ea4651b4fa7d4a9c6fb","unresolved":false,"context_lines":[{"line_number":904,"context_line":"            unit.new_user_ref(domain_id\u003dself.domain_id)"},{"line_number":905,"context_line":"        )"},{"line_number":906,"context_line":""},{"line_number":907,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("},{"line_number":908,"context_line":"            uuid.uuid4().hex, unit.new_domain_ref()"},{"line_number":909,"context_line":"        )"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"        PROVIDERS.assignment_api.create_grant("},{"line_number":912,"context_line":"            self.bootstrapper.reader_role_id, user_id\u003duser[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_97389d9f","line":909,"range":{"start_line":907,"start_character":8,"end_line":909,"end_character":9},"updated":"2019-08-12 23:03:52.000000000","message":"again should this be using a new domain?","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a549afb5a2986fdf3dba3ea4651b4fa7d4a9c6fb","unresolved":false,"context_lines":[{"line_number":929,"context_line":""},{"line_number":930,"context_line":"        project \u003d PROVIDERS.resource_api.create_project("},{"line_number":931,"context_line":"            uuid.uuid4().hex, unit.new_project_ref("},{"line_number":932,"context_line":"                domain_id\u003dCONF.identity.default_domain_id"},{"line_number":933,"context_line":"            )"},{"line_number":934,"context_line":"        )"},{"line_number":935,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_373f6988","line":932,"range":{"start_line":932,"start_character":26,"end_line":932,"end_character":57},"updated":"2019-08-12 23:03:52.000000000","message":"self.domain_id ?","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a549afb5a2986fdf3dba3ea4651b4fa7d4a9c6fb","unresolved":false,"context_lines":[{"line_number":954,"context_line":"            unit.new_group_ref(domain_id\u003dself.domain_id)"},{"line_number":955,"context_line":"        )"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"        domain \u003d PROVIDERS.resource_api.create_domain("},{"line_number":958,"context_line":"            uuid.uuid4().hex, unit.new_domain_ref()"},{"line_number":959,"context_line":"        )"},{"line_number":960,"context_line":""},{"line_number":961,"context_line":"        PROVIDERS.assignment_api.create_grant("},{"line_number":962,"context_line":"            self.bootstrapper.reader_role_id, group_id\u003dgroup[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_f748f12e","line":959,"range":{"start_line":957,"start_character":8,"end_line":959,"end_character":9},"updated":"2019-08-12 23:03:52.000000000","message":"ditto","commit_id":"9f7ad24bbe1a21d3d9b4a18c2b86de3ec062d28b"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0a2a8114b9549a3dfb38b69ccf0912c4e0a9d974","unresolved":false,"context_lines":[{"line_number":878,"context_line":"                expected_status_code\u003dhttp_client.FORBIDDEN"},{"line_number":879,"context_line":"            )"},{"line_number":880,"context_line":""},{"line_number":881,"context_line":"    def test_user_cannot_check_grant_for_user_own_domain_on_own_domain_with_role_other_domain(self):"},{"line_number":882,"context_line":"        user_domain_id \u003d self.domain_id"},{"line_number":883,"context_line":"        domain_id \u003d self.domain_id"},{"line_number":884,"context_line":"        role_domain_id \u003d CONF.identity.default_domain_id"}],"source_content_type":"text/x-python","patch_set":15,"id":"5faad753_d07051a8","line":881,"updated":"2019-09-11 14:12:41.000000000","message":"did we adjust our checks for line length?","commit_id":"f20ddeeaca20dbea68715fca0a1c6e118ae24167"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"7d7b821eafc92c4e7753529cada500ead5775f44","unresolved":false,"context_lines":[{"line_number":878,"context_line":"                expected_status_code\u003dhttp_client.FORBIDDEN"},{"line_number":879,"context_line":"            )"},{"line_number":880,"context_line":""},{"line_number":881,"context_line":"    def test_user_cannot_check_grant_for_user_own_domain_on_own_domain_with_role_other_domain(self):"},{"line_number":882,"context_line":"        user_domain_id \u003d self.domain_id"},{"line_number":883,"context_line":"        domain_id \u003d self.domain_id"},{"line_number":884,"context_line":"        role_domain_id \u003d CONF.identity.default_domain_id"}],"source_content_type":"text/x-python","patch_set":15,"id":"5faad753_60c5d9f0","line":881,"in_reply_to":"5faad753_cfec1191","updated":"2019-09-13 10:29:38.000000000","message":"pep8 is passed due to the ignorance of E501: line too long error in tox.ini.\n\n[1] https://github.com/openstack/keystone/blob/master/tox.ini#L35","commit_id":"f20ddeeaca20dbea68715fca0a1c6e118ae24167"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"68b4df0c0afb42dd895b2d546d56435a48b2186e","unresolved":false,"context_lines":[{"line_number":878,"context_line":"                expected_status_code\u003dhttp_client.FORBIDDEN"},{"line_number":879,"context_line":"            )"},{"line_number":880,"context_line":""},{"line_number":881,"context_line":"    def test_user_cannot_check_grant_for_user_own_domain_on_own_domain_with_role_other_domain(self):"},{"line_number":882,"context_line":"        user_domain_id \u003d self.domain_id"},{"line_number":883,"context_line":"        domain_id \u003d self.domain_id"},{"line_number":884,"context_line":"        role_domain_id \u003d CONF.identity.default_domain_id"}],"source_content_type":"text/x-python","patch_set":15,"id":"5faad753_ee280a35","line":881,"in_reply_to":"5faad753_d07051a8","updated":"2019-09-12 00:04:31.000000000","message":"I don\u0027t know why I can get away with this but I felt like it was cleaner to have a fully descriptive test name than to abbreviate it. Can change it though if preferred.","commit_id":"f20ddeeaca20dbea68715fca0a1c6e118ae24167"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"114586e4a023fd9c178d3725267d3a2b24c5ada3","unresolved":false,"context_lines":[{"line_number":878,"context_line":"                expected_status_code\u003dhttp_client.FORBIDDEN"},{"line_number":879,"context_line":"            )"},{"line_number":880,"context_line":""},{"line_number":881,"context_line":"    def test_user_cannot_check_grant_for_user_own_domain_on_own_domain_with_role_other_domain(self):"},{"line_number":882,"context_line":"        user_domain_id \u003d self.domain_id"},{"line_number":883,"context_line":"        domain_id \u003d self.domain_id"},{"line_number":884,"context_line":"        role_domain_id \u003d CONF.identity.default_domain_id"}],"source_content_type":"text/x-python","patch_set":15,"id":"5faad753_cfec1191","line":881,"in_reply_to":"5faad753_ee280a35","updated":"2019-09-12 14:04:48.000000000","message":"I\u0027m on board with more descriptive names. I\u0027m just curious why it doesn\u0027t fail pep8?","commit_id":"f20ddeeaca20dbea68715fca0a1c6e118ae24167"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0a2a8114b9549a3dfb38b69ccf0912c4e0a9d974","unresolved":false,"context_lines":[{"line_number":1528,"context_line":"            )"},{"line_number":1529,"context_line":""},{"line_number":1530,"context_line":"    def test_user_cannot_revoke_grant_from_group_own_domain_on_other_domain(self):"},{"line_number":1531,"context_line":"        group_domain_id \u003d CONF.identity.default_domain_id"},{"line_number":1532,"context_line":"        domain_id \u003d self.domain_id"},{"line_number":1533,"context_line":""},{"line_number":1534,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("}],"source_content_type":"text/x-python","patch_set":15,"id":"5faad753_904bb929","line":1531,"range":{"start_line":1531,"start_character":26,"end_line":1531,"end_character":57},"updated":"2019-09-11 14:12:41.000000000","message":"I think this one should be self.domain_id according to the test name. Otherwise it\u0027s the same test as above.","commit_id":"f20ddeeaca20dbea68715fca0a1c6e118ae24167"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"68b4df0c0afb42dd895b2d546d56435a48b2186e","unresolved":false,"context_lines":[{"line_number":1528,"context_line":"            )"},{"line_number":1529,"context_line":""},{"line_number":1530,"context_line":"    def test_user_cannot_revoke_grant_from_group_own_domain_on_other_domain(self):"},{"line_number":1531,"context_line":"        group_domain_id \u003d CONF.identity.default_domain_id"},{"line_number":1532,"context_line":"        domain_id \u003d self.domain_id"},{"line_number":1533,"context_line":""},{"line_number":1534,"context_line":"        group \u003d PROVIDERS.identity_api.create_group("}],"source_content_type":"text/x-python","patch_set":15,"id":"5faad753_6e1c1a12","line":1531,"range":{"start_line":1531,"start_character":26,"end_line":1531,"end_character":57},"in_reply_to":"5faad753_904bb929","updated":"2019-09-12 00:04:31.000000000","message":"Done","commit_id":"f20ddeeaca20dbea68715fca0a1c6e118ae24167"}]}
