)]}'
{"keystone/tests/unit/test_v3_trust.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"bd9b54b699d015c59e290d35d6d178a22e1c1bae","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        self.assertEqual(self.project[\u0027id\u0027], resp_body[\u0027project\u0027][\u0027id\u0027])"},{"line_number":403,"context_line":"        self.assertEqual(self.project[\u0027name\u0027], resp_body[\u0027project\u0027][\u0027name\u0027])"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"    # Checks that trustee not allowed to create a trust (with impersonation set"},{"line_number":406,"context_line":"    # to true) from a redelegated trust (with impersonation set to false)"},{"line_number":407,"context_line":"    def test_forbidden_trust_impersonation_in_redelegation(self):"},{"line_number":408,"context_line":"        # create trust"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_a9b678d9","line":405,"updated":"2016-06-17 17:41:45.000000000","message":"great comment, think it should be a docstring though, add it as a docstring in the test.","commit_id":"debeb41607d9eda93c353c976aef02b462a4d74c"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"bd9b54b699d015c59e290d35d6d178a22e1c1bae","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                                               domain_id\u003dself.domain_id)"},{"line_number":430,"context_line":"        third_party_trustee_id \u003d third_party_trustee[\u0027id\u0027]"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"        # create trust from redelegated trsut"},{"line_number":433,"context_line":"        ref \u003d unit.new_trust_ref("},{"line_number":434,"context_line":"            trustor_user_id\u003dself.trustee_user_id,"},{"line_number":435,"context_line":"            trustee_user_id\u003dthird_party_trustee_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_093d0c2b","line":432,"range":{"start_line":432,"start_character":40,"end_line":432,"end_character":45},"updated":"2016-06-17 17:41:45.000000000","message":"trust","commit_id":"debeb41607d9eda93c353c976aef02b462a4d74c"}],"keystone/trust/core.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"f4f34b637e7fe980508f1e873e1151082e34dc0f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            raise exception.Forbidden("},{"line_number":88,"context_line":"                _(\u0027Some of requested roles are not in redelegated trust\u0027))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if (not redelegated_trust[\u0027impersonation\u0027] and trust[\u0027impersonation\u0027]):"},{"line_number":91,"context_line":"            raise exception.Forbidden("},{"line_number":92,"context_line":"                _(\u0027Impersonation is not allowed by redelegated trust\u0027))"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_5a545bc9","line":90,"range":{"start_line":90,"start_character":0,"end_line":90,"end_character":79},"updated":"2016-06-16 03:32:30.000000000","message":"add a comment above this check as well, all the other blocks have useful comments","commit_id":"5b18e0f0361a2870fa5ee440819d722265a8b577"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"f4f34b637e7fe980508f1e873e1151082e34dc0f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            raise exception.Forbidden("},{"line_number":88,"context_line":"                _(\u0027Some of requested roles are not in redelegated trust\u0027))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if (not redelegated_trust[\u0027impersonation\u0027] and trust[\u0027impersonation\u0027]):"},{"line_number":91,"context_line":"            raise exception.Forbidden("},{"line_number":92,"context_line":"                _(\u0027Impersonation is not allowed by redelegated trust\u0027))"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_1ac3f38b","line":90,"range":{"start_line":90,"start_character":11,"end_line":90,"end_character":78},"updated":"2016-06-16 03:32:30.000000000","message":"the outer ()s are not needed","commit_id":"5b18e0f0361a2870fa5ee440819d722265a8b577"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"5628f7361533073362507b9185a2f2886d0ad890","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # redelegated trust (with impersonation set to false)"},{"line_number":92,"context_line":"        if not redelegated_trust[\u0027impersonation\u0027] and trust[\u0027impersonation\u0027]:"},{"line_number":93,"context_line":"            raise exception.Forbidden("},{"line_number":94,"context_line":"                _(\u0027Impersonation is not allowed by redelegated trust\u0027))"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def get_trust_pedigree(self, trust_id):"},{"line_number":97,"context_line":"        trust \u003d self.driver.get_trust(trust_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_8460f6a5","line":94,"range":{"start_line":94,"start_character":19,"end_line":94,"end_character":68},"updated":"2016-06-16 19:31:49.000000000","message":"Please expand this message to make it clear the cause, that is impersonation is not allowed by *because redelegated trust does not specify impersonation*.","commit_id":"d15e2268e74114d08b4099ccd2c407245b6af81f"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"21a3ff5db585fddb4293bdeb71e1cdf04c15f1ab","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # redelegated trust (with impersonation set to false)"},{"line_number":92,"context_line":"        if not redelegated_trust[\u0027impersonation\u0027] and trust[\u0027impersonation\u0027]:"},{"line_number":93,"context_line":"            raise exception.Forbidden("},{"line_number":94,"context_line":"                _(\u0027Impersonation is not allowed because redelegated trust \u0027"},{"line_number":95,"context_line":"                  \u0027does not specify impersonation\u0027))"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_trust_pedigree(self, trust_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_2a5f2410","line":94,"updated":"2016-06-17 13:41:32.000000000","message":"can we add some trust information here? like the trust_id...","commit_id":"33bb3feba5f0c0fa7e654a2a8b8eec495a38024b"}]}
