)]}'
{"tempest/api/identity/admin/v3/test_roles.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"949527f805190a4998649ece8a5dba9ae72b66be","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        domain_role \u003d self.roles_client.create_role("},{"line_number":313,"context_line":"            name\u003ddata_utils.rand_name(\u0027domain_role\u0027),"},{"line_number":314,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027role\u0027]"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        domain_roles \u003d self.roles_client.list_roles("},{"line_number":317,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":318,"context_line":"        self.assertEqual(1, len(domain_roles))"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_448829e8","line":315,"updated":"2017-02-10 12:08:48.000000000","message":"you still need an addCleanup(ignore_not_found_exc(..)) call here. Because if your assertion fails L318, that role will not be deleted.","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a02baa15e74ca2480143cdfb9a8289bc940127e8","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        domain_role \u003d self.roles_client.create_role("},{"line_number":313,"context_line":"            name\u003ddata_utils.rand_name(\u0027domain_role\u0027),"},{"line_number":314,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027role\u0027]"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        domain_roles \u003d self.roles_client.list_roles("},{"line_number":317,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":318,"context_line":"        self.assertEqual(1, len(domain_roles))"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_ba82cffe","line":315,"in_reply_to":"fa31d9ce_448829e8","updated":"2017-02-10 19:09:44.000000000","message":"Done","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b4cfa85940eadaea3328914771ab9af93cab3d8f","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        self.roles_client.delete_role(domain_role[\u0027id\u0027])"},{"line_number":322,"context_line":"        domain_roles \u003d self.roles_client.list_roles("},{"line_number":323,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":324,"context_line":"        self.assertEqual(0, len(domain_roles))"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    @decorators.idempotent_id(\u0027eb1e1c24-1bc4-4d47-9748-e127a1852c82\u0027)"},{"line_number":327,"context_line":"    def test_implied_domain_roles(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a430d35_6328019b","line":324,"updated":"2017-02-09 03:25:35.000000000","message":"This test is good for me.","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"949527f805190a4998649ece8a5dba9ae72b66be","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        self.roles_client.delete_role(domain_role[\u0027id\u0027])"},{"line_number":322,"context_line":"        domain_roles \u003d self.roles_client.list_roles("},{"line_number":323,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":324,"context_line":"        self.assertEqual(0, len(domain_roles))"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    @decorators.idempotent_id(\u0027eb1e1c24-1bc4-4d47-9748-e127a1852c82\u0027)"},{"line_number":327,"context_line":"    def test_implied_domain_roles(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_64db6dee","line":324,"in_reply_to":"1a430d35_6328019b","updated":"2017-02-10 12:08:48.000000000","message":"Could you please use self.assertEmpty instead ? It\u0027s exactly the same, but it opens up future enhancements around proper logging in case of failure.","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a02baa15e74ca2480143cdfb9a8289bc940127e8","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        self.roles_client.delete_role(domain_role[\u0027id\u0027])"},{"line_number":322,"context_line":"        domain_roles \u003d self.roles_client.list_roles("},{"line_number":323,"context_line":"            domain_id\u003dself.domain[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":324,"context_line":"        self.assertEqual(0, len(domain_roles))"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    @decorators.idempotent_id(\u0027eb1e1c24-1bc4-4d47-9748-e127a1852c82\u0027)"},{"line_number":327,"context_line":"    def test_implied_domain_roles(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_fa7c4722","line":324,"in_reply_to":"fa31d9ce_64db6dee","updated":"2017-02-10 19:09:44.000000000","message":"Done","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b4cfa85940eadaea3328914771ab9af93cab3d8f","unresolved":false,"context_lines":[{"line_number":355,"context_line":"            self.roles_client.delete_role_from_user_on_project,"},{"line_number":356,"context_line":"            self.project[\u0027id\u0027], self.user_body[\u0027id\u0027], domain_role[\u0027id\u0027])"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        # In the effective list of role assignments we should not see"},{"line_number":359,"context_line":"        # the assignment with the domain role"},{"line_number":360,"context_line":"        params \u003d {\u0027scope.project.id\u0027: self.project[\u0027id\u0027],"},{"line_number":361,"context_line":"                  \u0027user.id\u0027: self.user_body[\u0027id\u0027]}"},{"line_number":362,"context_line":"        role_assignments \u003d self.role_assignments.list_role_assignments("}],"source_content_type":"text/x-python","patch_set":12,"id":"1a430d35_835c0d4c","line":359,"range":{"start_line":358,"start_character":0,"end_line":359,"end_character":45},"updated":"2017-02-09 03:25:35.000000000","message":"I could not understand this meaning..\n\nHow can we see the above created role by list_role_assignments() call?","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a02baa15e74ca2480143cdfb9a8289bc940127e8","unresolved":false,"context_lines":[{"line_number":355,"context_line":"            self.roles_client.delete_role_from_user_on_project,"},{"line_number":356,"context_line":"            self.project[\u0027id\u0027], self.user_body[\u0027id\u0027], domain_role[\u0027id\u0027])"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        # In the effective list of role assignments we should not see"},{"line_number":359,"context_line":"        # the assignment with the domain role"},{"line_number":360,"context_line":"        params \u003d {\u0027scope.project.id\u0027: self.project[\u0027id\u0027],"},{"line_number":361,"context_line":"                  \u0027user.id\u0027: self.user_body[\u0027id\u0027]}"},{"line_number":362,"context_line":"        role_assignments \u003d self.role_assignments.list_role_assignments("}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_faca874e","line":359,"range":{"start_line":358,"start_character":0,"end_line":359,"end_character":45},"in_reply_to":"1a430d35_835c0d4c","updated":"2017-02-10 19:09:44.000000000","message":"in line 352 we created a grant (a role assignment) using domain_role. When using the role assignments API, the effective query parameter represents a role assignment that would actually be returned in a token - this is not the case for domain roles.","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"949527f805190a4998649ece8a5dba9ae72b66be","unresolved":false,"context_lines":[{"line_number":361,"context_line":"                  \u0027user.id\u0027: self.user_body[\u0027id\u0027]}"},{"line_number":362,"context_line":"        role_assignments \u003d self.role_assignments.list_role_assignments("},{"line_number":363,"context_line":"            effective\u003dTrue, **params)[\u0027role_assignments\u0027]"},{"line_number":364,"context_line":"        self.assertEqual(0, len(role_assignments))"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_044f1193","line":364,"updated":"2017-02-10 12:08:48.000000000","message":"please assertEmpty","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a02baa15e74ca2480143cdfb9a8289bc940127e8","unresolved":false,"context_lines":[{"line_number":361,"context_line":"                  \u0027user.id\u0027: self.user_body[\u0027id\u0027]}"},{"line_number":362,"context_line":"        role_assignments \u003d self.role_assignments.list_role_assignments("},{"line_number":363,"context_line":"            effective\u003dTrue, **params)[\u0027role_assignments\u0027]"},{"line_number":364,"context_line":"        self.assertEqual(0, len(role_assignments))"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_1a7afb24","line":364,"in_reply_to":"fa31d9ce_044f1193","updated":"2017-02-10 19:09:44.000000000","message":"Done","commit_id":"f417c1b7d8f3efaae42e08c4fcd4c05377924331"}]}
