)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"e8dfb6022fde689d569418611f6ac5bc43935ac4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Refactor tests to static"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A number of tests should be executed with backends that enforce or use"},{"line_number":10,"context_line":"immutable user sources. This patch set migrates the that into a separate"},{"line_number":11,"context_line":"class with ``force_tenant_isolation\u003dFalse`` set so they are executed"},{"line_number":12,"context_line":"against such backend."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_dbfd7e3b","line":10,"range":{"start_line":10,"start_character":39,"end_line":10,"end_character":64},"updated":"2018-07-09 04:11:52.000000000","message":"soft nit: This line is little bit confusing.","commit_id":"41c8759293612e898156e60ad14cc1dddf64d77a"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"659c41e3fc82b282a99dd053ba75c7c8541e9694","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Refactor tests to static"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A number of tests should be executed with backends that enforce or use"},{"line_number":10,"context_line":"immutable user sources. This patch set migrates the that into a separate"},{"line_number":11,"context_line":"class with ``force_tenant_isolation\u003dFalse`` set so they are executed"},{"line_number":12,"context_line":"against such backend."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_fb77199e","line":10,"range":{"start_line":10,"start_character":39,"end_line":10,"end_character":64},"in_reply_to":"5f7c97a3_dbfd7e3b","updated":"2018-07-09 04:59:10.000000000","message":"oops, thanks for the feedback, will fix in the next update.","commit_id":"41c8759293612e898156e60ad14cc1dddf64d77a"}],"tempest/api/identity/admin/v3/test_roles.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"428cf06c20723f67c1fd7b42f9cf3a87cebea709","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class BaseRolesV3TestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    def resource_setup(cls):"},{"line_number":30,"context_line":"        super(BaseRolesV3TestJSON, cls).resource_setup()"},{"line_number":31,"context_line":"        cls.role \u003d cls.roles_client.create_role("},{"line_number":32,"context_line":"            name\u003ddata_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":33,"context_line":"        cls.addClassResourceCleanup(cls.roles_client.delete_role,"},{"line_number":34,"context_line":"                                    cls.role[\u0027id\u0027])"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class RolesV3TestJSON(BaseRolesV3TestJSON):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_19409635","line":34,"range":{"start_line":28,"start_character":3,"end_line":34,"end_character":51},"updated":"2017-12-01 22:25:40.000000000","message":"This can be moved back into RolesV3TestJSON because test_role_create_update_show_list doesn\u0027t use self.role.","commit_id":"fbd3d9e56ac91fe14592680a97f9925da3d46aa4"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"03c552c6f8409f8577ac68a80b27f6b5ad385a34","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class BaseRolesV3TestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    def resource_setup(cls):"},{"line_number":30,"context_line":"        super(BaseRolesV3TestJSON, cls).resource_setup()"},{"line_number":31,"context_line":"        cls.role \u003d cls.roles_client.create_role("},{"line_number":32,"context_line":"            name\u003ddata_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":33,"context_line":"        cls.addClassResourceCleanup(cls.roles_client.delete_role,"},{"line_number":34,"context_line":"                                    cls.role[\u0027id\u0027])"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class RolesV3TestJSON(BaseRolesV3TestJSON):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_f9c13230","line":34,"range":{"start_line":28,"start_character":3,"end_line":34,"end_character":51},"in_reply_to":"df87a7cf_19409635","updated":"2017-12-01 22:47:40.000000000","message":"Done","commit_id":"fbd3d9e56ac91fe14592680a97f9925da3d46aa4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"428cf06c20723f67c1fd7b42f9cf3a87cebea709","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":407,"context_line":"    @decorators.idempotent_id(\u002718afc6c0-46cf-4911-824e-9989cc056c3a\u0027)"},{"line_number":408,"context_line":"    def test_role_create_update_show_list(self):"},{"line_number":409,"context_line":"        r_name \u003d data_utils.rand_name(\u0027Role\u0027)"},{"line_number":410,"context_line":"        role \u003d self.roles_client.create_role(name\u003dr_name)[\u0027role\u0027]"},{"line_number":411,"context_line":"        self.addCleanup(self.roles_client.delete_role, role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_d9346ee1","line":408,"updated":"2017-12-01 22:25:40.000000000","message":"self.role isn\u0027t used here so no need to define `BaseRolesV3TestJSON`.","commit_id":"fbd3d9e56ac91fe14592680a97f9925da3d46aa4"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"03c552c6f8409f8577ac68a80b27f6b5ad385a34","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":407,"context_line":"    @decorators.idempotent_id(\u002718afc6c0-46cf-4911-824e-9989cc056c3a\u0027)"},{"line_number":408,"context_line":"    def test_role_create_update_show_list(self):"},{"line_number":409,"context_line":"        r_name \u003d data_utils.rand_name(\u0027Role\u0027)"},{"line_number":410,"context_line":"        role \u003d self.roles_client.create_role(name\u003dr_name)[\u0027role\u0027]"},{"line_number":411,"context_line":"        self.addCleanup(self.roles_client.delete_role, role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_d9c46e43","line":408,"in_reply_to":"df87a7cf_d9346ee1","updated":"2017-12-01 22:47:40.000000000","message":"Done","commit_id":"fbd3d9e56ac91fe14592680a97f9925da3d46aa4"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"07a4f930119715b611065ba04299797f6d6f2cee","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":407,"context_line":"    @decorators.idempotent_id(\u002718afc6c0-46cf-4911-824e-9989cc056c3a\u0027)"},{"line_number":408,"context_line":"    def test_role_create_update_show_list(self):"},{"line_number":409,"context_line":"        r_name \u003d data_utils.rand_name(\u0027Role\u0027)"},{"line_number":410,"context_line":"        role \u003d self.roles_client.create_role(name\u003dr_name)[\u0027role\u0027]"},{"line_number":411,"context_line":"        self.addCleanup(self.roles_client.delete_role, role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_f9b4d237","line":408,"in_reply_to":"df87a7cf_d9346ee1","updated":"2017-12-01 22:29:56.000000000","message":"Wow my bad.. would it be better to use it? I could just remove the role create call here and refactor things a bit.","commit_id":"fbd3d9e56ac91fe14592680a97f9925da3d46aa4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"89dc866ba85e1951b80358d4a90b38f3d7a0353f","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        self.assertIn(self.roles[2][\u0027id\u0027], implies_ids)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"class RolesV3StaticTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":395,"context_line":"    # NOTE: force_tenant_isolation is false to allow test execution for"},{"line_number":396,"context_line":"    # clouds using the pre-provisioned credentials provider"},{"line_number":397,"context_line":"    force_tenant_isolation \u003d False"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_168016bf","line":394,"range":{"start_line":394,"start_character":33,"end_line":394,"end_character":56},"updated":"2018-07-02 21:50:06.000000000","message":"Can probably be non-admin base class.","commit_id":"9787911fd1bbf7a2135a9250a60651fe93afd6e7"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"0aee24b79040c5447ccc41d442344305cc6bbcb3","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        self.assertIn(self.roles[2][\u0027id\u0027], implies_ids)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"class RolesV3StaticTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":395,"context_line":"    # NOTE: force_tenant_isolation is false to allow test execution for"},{"line_number":396,"context_line":"    # clouds using the pre-provisioned credentials provider"},{"line_number":397,"context_line":"    force_tenant_isolation \u003d False"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_0a8306cd","line":394,"range":{"start_line":394,"start_character":33,"end_line":394,"end_character":56},"in_reply_to":"5f7c97a3_168016bf","updated":"2018-07-02 22:46:24.000000000","message":"Done","commit_id":"9787911fd1bbf7a2135a9250a60651fe93afd6e7"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"89dc866ba85e1951b80358d4a90b38f3d7a0353f","unresolved":false,"context_lines":[{"line_number":399,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":400,"context_line":"    @decorators.idempotent_id(\u002718afc6c0-46cf-4911-824e-9989cc056c3a\u0027)"},{"line_number":401,"context_line":"    def test_role_create_update_show_list(self):"},{"line_number":402,"context_line":"        r_name \u003d data_utils.rand_name(\u0027Role\u0027)"},{"line_number":403,"context_line":"        role \u003d self.roles_client.create_role(name\u003dr_name)[\u0027role\u0027]"},{"line_number":404,"context_line":"        self.addCleanup(self.roles_client.delete_role, role[\u0027id\u0027])"},{"line_number":405,"context_line":"        self.assertIn(\u0027name\u0027, role)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_961e66b9","line":402,"updated":"2018-07-02 21:50:06.000000000","message":"Is role creation permitted using LDAP backends?","commit_id":"9787911fd1bbf7a2135a9250a60651fe93afd6e7"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"0aee24b79040c5447ccc41d442344305cc6bbcb3","unresolved":false,"context_lines":[{"line_number":399,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":400,"context_line":"    @decorators.idempotent_id(\u002718afc6c0-46cf-4911-824e-9989cc056c3a\u0027)"},{"line_number":401,"context_line":"    def test_role_create_update_show_list(self):"},{"line_number":402,"context_line":"        r_name \u003d data_utils.rand_name(\u0027Role\u0027)"},{"line_number":403,"context_line":"        role \u003d self.roles_client.create_role(name\u003dr_name)[\u0027role\u0027]"},{"line_number":404,"context_line":"        self.addCleanup(self.roles_client.delete_role, role[\u0027id\u0027])"},{"line_number":405,"context_line":"        self.assertIn(\u0027name\u0027, role)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_aa521267","line":402,"in_reply_to":"5f7c97a3_961e66b9","updated":"2018-07-02 22:46:24.000000000","message":"should work, only user creation is not allowed.","commit_id":"9787911fd1bbf7a2135a9250a60651fe93afd6e7"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"7e57bc9715a618b33ef444faf33f72bd32a02fcb","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        self.assertIn(self.roles[2][\u0027id\u0027], implies_ids)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"class RolesV3StaticTestJSON(base.BaseIdentityV3Test):"},{"line_number":395,"context_line":"    # NOTE: force_tenant_isolation is false to allow test execution for"},{"line_number":396,"context_line":"    # clouds using the pre-provisioned credentials provider"},{"line_number":397,"context_line":"    force_tenant_isolation \u003d False"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_ad0f8c2d","line":394,"range":{"start_line":394,"start_character":33,"end_line":394,"end_character":51},"updated":"2018-07-02 23:06:50.000000000","message":"I was wrong with my last review, I forgot to check role permissions which are admin-only so this needs to be admin class after all, no way around it: https://github.com/openstack/keystone/blob/4635144083def1b30f275802e774e06065bf1b82/keystone/common/policies/role.py#L20","commit_id":"aa9a4fb2e677e79540662f703aeec48990e562de"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3f4d15e15866d095943d34680503afbdaae98bf6","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        self.assertIn(self.roles[2][\u0027id\u0027], implies_ids)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"class RolesV3StaticTestJSON(base.BaseIdentityV3AdminTest):"},{"line_number":395,"context_line":"    # NOTE: force_tenant_isolation is false to allow test execution for"},{"line_number":396,"context_line":"    # clouds using the pre-provisioned credentials provider"},{"line_number":397,"context_line":"    force_tenant_isolation \u003d False"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_f1fb1112","line":394,"range":{"start_line":394,"start_character":6,"end_line":394,"end_character":27},"updated":"2018-07-03 15:31:31.000000000","message":"nit: RolesStaticV3TestJSON is better","commit_id":"cd5cebe18f5a59680f1fae9cb7bc154178fab968"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1acc76856ca9a0ad422ef0edad8dae7c640bddb","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            self.project[\u0027id\u0027], self.group_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @decorators.idempotent_id(\u00274bf8a70b-e785-413a-ad53-9f91ce02faa7\u0027)"},{"line_number":134,"context_line":"    def test_grant_list_revoke_role_to_group_on_domain(self):"},{"line_number":135,"context_line":"        self.roles_client.create_group_role_on_domain("},{"line_number":136,"context_line":"            self.domain[\u0027id\u0027], self.group_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_ea1bc618","line":134,"updated":"2018-07-08 14:50:58.000000000","message":"I think this one can be moved too: it doesn\u0027t use the created user from resource_setup","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"670f91b7ec262169a7b3ad77b6e71ccb722a5fe7","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            self.project[\u0027id\u0027], self.group_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @decorators.idempotent_id(\u00274bf8a70b-e785-413a-ad53-9f91ce02faa7\u0027)"},{"line_number":134,"context_line":"    def test_grant_list_revoke_role_to_group_on_domain(self):"},{"line_number":135,"context_line":"        self.roles_client.create_group_role_on_domain("},{"line_number":136,"context_line":"            self.domain[\u0027id\u0027], self.group_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_80d553e8","line":134,"in_reply_to":"5f7c97a3_ea1bc618","updated":"2018-07-09 02:11:40.000000000","message":"Done","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1acc76856ca9a0ad422ef0edad8dae7c640bddb","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            self.domain[\u0027id\u0027], self.group_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @decorators.idempotent_id(\u0027f5654bcc-08c4-4f71-88fe-05d64e06de94\u0027)"},{"line_number":151,"context_line":"    def test_list_roles(self):"},{"line_number":152,"context_line":"        # Return a list of all roles"},{"line_number":153,"context_line":"        body \u003d self.roles_client.list_roles()[\u0027roles\u0027]"},{"line_number":154,"context_line":"        found \u003d [role for role in body if role in self.roles]"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_4ad2fa35","line":151,"updated":"2018-07-08 14:50:58.000000000","message":"Ditto","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"670f91b7ec262169a7b3ad77b6e71ccb722a5fe7","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            self.domain[\u0027id\u0027], self.group_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @decorators.idempotent_id(\u0027f5654bcc-08c4-4f71-88fe-05d64e06de94\u0027)"},{"line_number":151,"context_line":"    def test_list_roles(self):"},{"line_number":152,"context_line":"        # Return a list of all roles"},{"line_number":153,"context_line":"        body \u003d self.roles_client.list_roles()[\u0027roles\u0027]"},{"line_number":154,"context_line":"        found \u003d [role for role in body if role in self.roles]"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_a0d08ff5","line":151,"in_reply_to":"5f7c97a3_4ad2fa35","updated":"2018-07-09 02:11:40.000000000","message":"Done","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1acc76856ca9a0ad422ef0edad8dae7c640bddb","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                implies_role_id)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    @decorators.idempotent_id(\u0027c90c316c-d706-4728-bcba-eb1912081b69\u0027)"},{"line_number":174,"context_line":"    def test_implied_roles_create_check_show_delete(self):"},{"line_number":175,"context_line":"        prior_role_id \u003d self.roles[0][\u0027id\u0027]"},{"line_number":176,"context_line":"        implies_role_id \u003d self.roles[1][\u0027id\u0027]"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_6ad5761a","line":174,"updated":"2018-07-08 14:50:58.000000000","message":"Ditto","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"670f91b7ec262169a7b3ad77b6e71ccb722a5fe7","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                implies_role_id)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    @decorators.idempotent_id(\u0027c90c316c-d706-4728-bcba-eb1912081b69\u0027)"},{"line_number":174,"context_line":"    def test_implied_roles_create_check_show_delete(self):"},{"line_number":175,"context_line":"        prior_role_id \u003d self.roles[0][\u0027id\u0027]"},{"line_number":176,"context_line":"        implies_role_id \u003d self.roles[1][\u0027id\u0027]"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_60083790","line":174,"in_reply_to":"5f7c97a3_6ad5761a","updated":"2018-07-09 02:11:40.000000000","message":"Done","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1acc76856ca9a0ad422ef0edad8dae7c640bddb","unresolved":false,"context_lines":[{"line_number":204,"context_line":"            implies_role_id)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    @decorators.idempotent_id(\u0027dc6f5959-b74d-4e30-a9e5-a8255494ff00\u0027)"},{"line_number":207,"context_line":"    def test_roles_hierarchy(self):"},{"line_number":208,"context_line":"        # Create inference rule from \"roles[0]\" to \"role[1]\""},{"line_number":209,"context_line":"        self._create_implied_role("},{"line_number":210,"context_line":"            self.roles[0][\u0027id\u0027], self.roles[1][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_0ad8824f","line":207,"updated":"2018-07-08 14:50:58.000000000","message":"Ditto","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"670f91b7ec262169a7b3ad77b6e71ccb722a5fe7","unresolved":false,"context_lines":[{"line_number":204,"context_line":"            implies_role_id)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    @decorators.idempotent_id(\u0027dc6f5959-b74d-4e30-a9e5-a8255494ff00\u0027)"},{"line_number":207,"context_line":"    def test_roles_hierarchy(self):"},{"line_number":208,"context_line":"        # Create inference rule from \"roles[0]\" to \"role[1]\""},{"line_number":209,"context_line":"        self._create_implied_role("},{"line_number":210,"context_line":"            self.roles[0][\u0027id\u0027], self.roles[1][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_20febf69","line":207,"in_reply_to":"5f7c97a3_0ad8824f","updated":"2018-07-09 02:11:40.000000000","message":"Done","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1acc76856ca9a0ad422ef0edad8dae7c640bddb","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        self.assertIn(self.roles[0][\u0027id\u0027], roles_ids)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    @decorators.idempotent_id(\u0027d92a41d2-5501-497a-84bb-6e294330e8f8\u0027)"},{"line_number":277,"context_line":"    def test_domain_roles_create_delete(self):"},{"line_number":278,"context_line":"        domain_role \u003d self.roles_client.create_role("},{"line_number":279,"context_line":"            name\u003ddata_utils.rand_name(\u0027domain_role\u0027),"},{"line_number":280,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027role\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_2adbfe4d","line":277,"updated":"2018-07-08 14:50:58.000000000","message":"Ditto","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"670f91b7ec262169a7b3ad77b6e71ccb722a5fe7","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        self.assertIn(self.roles[0][\u0027id\u0027], roles_ids)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    @decorators.idempotent_id(\u0027d92a41d2-5501-497a-84bb-6e294330e8f8\u0027)"},{"line_number":277,"context_line":"    def test_domain_roles_create_delete(self):"},{"line_number":278,"context_line":"        domain_role \u003d self.roles_client.create_role("},{"line_number":279,"context_line":"            name\u003ddata_utils.rand_name(\u0027domain_role\u0027),"},{"line_number":280,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027role\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_c0f82b7d","line":277,"in_reply_to":"5f7c97a3_2adbfe4d","updated":"2018-07-09 02:11:40.000000000","message":"Done","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1acc76856ca9a0ad422ef0edad8dae7c640bddb","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        self.assertEmpty(domain_roles)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @decorators.idempotent_id(\u0027eb1e1c24-1bc4-4d47-9748-e127a1852c82\u0027)"},{"line_number":297,"context_line":"    def test_implied_domain_roles(self):"},{"line_number":298,"context_line":"        # Create two roles in the same domain"},{"line_number":299,"context_line":"        domain_role1 \u003d self.setup_test_role(domain_id\u003dself.domain[\u0027id\u0027])"},{"line_number":300,"context_line":"        domain_role2 \u003d self.setup_test_role(domain_id\u003dself.domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_cae5aa0b","line":297,"updated":"2018-07-08 14:50:58.000000000","message":"Ditto","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"670f91b7ec262169a7b3ad77b6e71ccb722a5fe7","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        self.assertEmpty(domain_roles)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @decorators.idempotent_id(\u0027eb1e1c24-1bc4-4d47-9748-e127a1852c82\u0027)"},{"line_number":297,"context_line":"    def test_implied_domain_roles(self):"},{"line_number":298,"context_line":"        # Create two roles in the same domain"},{"line_number":299,"context_line":"        domain_role1 \u003d self.setup_test_role(domain_id\u003dself.domain[\u0027id\u0027])"},{"line_number":300,"context_line":"        domain_role2 \u003d self.setup_test_role(domain_id\u003dself.domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_e0f3e79d","line":297,"in_reply_to":"5f7c97a3_cae5aa0b","updated":"2018-07-09 02:11:40.000000000","message":"Done","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1acc76856ca9a0ad422ef0edad8dae7c640bddb","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        self.assertEmpty(role_assignments)"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    @decorators.idempotent_id(\u00273748c316-c18f-4b08-997b-c60567bc6235\u0027)"},{"line_number":348,"context_line":"    def test_list_all_implied_roles(self):"},{"line_number":349,"context_line":"        # Create inference rule from \"roles[0]\" to \"roles[1]\""},{"line_number":350,"context_line":"        self._create_implied_role("},{"line_number":351,"context_line":"            self.roles[0][\u0027id\u0027], self.roles[1][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_eae0a6fa","line":348,"updated":"2018-07-08 14:50:58.000000000","message":"Ditto","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"670f91b7ec262169a7b3ad77b6e71ccb722a5fe7","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        self.assertEmpty(role_assignments)"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    @decorators.idempotent_id(\u00273748c316-c18f-4b08-997b-c60567bc6235\u0027)"},{"line_number":348,"context_line":"    def test_list_all_implied_roles(self):"},{"line_number":349,"context_line":"        # Create inference rule from \"roles[0]\" to \"roles[1]\""},{"line_number":350,"context_line":"        self._create_implied_role("},{"line_number":351,"context_line":"            self.roles[0][\u0027id\u0027], self.roles[1][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_a0e96fab","line":348,"in_reply_to":"5f7c97a3_eae0a6fa","updated":"2018-07-09 02:11:40.000000000","message":"Done","commit_id":"d43ee3a72606065f6995068174d3a5c356cf3cdf"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"ca8e1fca6bfe1769833d6d72af31fc9ad768a04b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            self.project[\u0027id\u0027], self.user_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00276c9a2940-3625-43a3-ac02-5dcec62ef3bd\u0027)"},{"line_number":107,"context_line":"    def test_grant_list_revoke_role_to_user_on_domain(self):"},{"line_number":108,"context_line":"        self.roles_client.create_user_role_on_domain("},{"line_number":109,"context_line":"            self.domain[\u0027id\u0027], self.user_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5f7c97a3_e7a95c25","line":107,"updated":"2018-07-12 13:57:05.000000000","message":"wait this may be a test that could be static i think.","commit_id":"123aa953e1cfc66881d051dc6d26a9eacabf6e1a"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"0cfb403024ad3164b9b0857e17086949b715f900","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            self.project[\u0027id\u0027], self.user_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00276c9a2940-3625-43a3-ac02-5dcec62ef3bd\u0027)"},{"line_number":107,"context_line":"    def test_grant_list_revoke_role_to_user_on_domain(self):"},{"line_number":108,"context_line":"        self.roles_client.create_user_role_on_domain("},{"line_number":109,"context_line":"            self.domain[\u0027id\u0027], self.user_body[\u0027id\u0027], self.role[\u0027id\u0027])"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5f7c97a3_3000ec66","line":107,"in_reply_to":"5f7c97a3_e7a95c25","updated":"2018-07-12 16:00:21.000000000","message":"nope test_grant_list_revoke_role_to_user_on_domain","commit_id":"123aa953e1cfc66881d051dc6d26a9eacabf6e1a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c43c83058a8c819377c627f392f9b8b8898a7f03","unresolved":false,"context_lines":[{"line_number":505,"context_line":"            self.roles_client.show_role_inference_rule,"},{"line_number":506,"context_line":"            prior_role_id,"},{"line_number":507,"context_line":"            implies_role_id)"},{"line_number":508,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_b05ab74e","line":508,"updated":"2018-07-12 18:52:37.000000000","message":"WS - pep8 failure","commit_id":"ff0fb32be9b388c66e073a35246f0c27db6bf8d9"}]}
