)]}'
{"patrole_tempest_plugin/rbac_utils.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"620bc15017c0795f010f32d62f5d6a9f6d9b2737","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                # If a skipException was thrown then this is a legitimate"},{"line_number":145,"context_line":"                # reason why `switch_role` was not called, so only raise an"},{"line_number":146,"context_line":"                # exception if no current exception is being handled."},{"line_number":147,"context_line":"                if sys.exc_info()[0] is None:"},{"line_number":148,"context_line":"                    self.switch_role_history[key] \u003d False"},{"line_number":149,"context_line":"                    error_message \u003d ("},{"line_number":150,"context_line":"                        \u0027`switch_role` must not be called with the same bool \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_c5bb01c2","line":147,"range":{"start_line":147,"start_character":16,"end_line":147,"end_character":45},"updated":"2017-06-13 04:28:34.000000000","message":"if isinstance(sys.exc_info()[0], test_obj.skipException):","commit_id":"700497135a522aa8a233b4442fb0631daac848b3"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"0219021a02ff8d9e6f3f1a4f845b7026b5d0d656","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                # reason why `switch_role` was not called, so only raise an"},{"line_number":146,"context_line":"                # exception if no current exception is being handled."},{"line_number":147,"context_line":"                if sys.exc_info()[0] is None:"},{"line_number":148,"context_line":"                    self.switch_role_history[key] \u003d False"},{"line_number":149,"context_line":"                    error_message \u003d ("},{"line_number":150,"context_line":"                        \u0027`switch_role` must not be called with the same bool \u0027"},{"line_number":151,"context_line":"                        \u0027value twice. Make sure that you included a \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_85eaa9a9","line":148,"range":{"start_line":148,"start_character":20,"end_line":148,"end_character":57},"updated":"2017-06-13 04:30:19.000000000","message":"Can be generalized across both conditions.","commit_id":"700497135a522aa8a233b4442fb0631daac848b3"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"620bc15017c0795f010f32d62f5d6a9f6d9b2737","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                # even if the `expected_error_code` passed to"},{"line_number":159,"context_line":"                # `rbac_rule_validation` decorator matches the error code of"},{"line_number":160,"context_line":"                # the prematurely raised exception."},{"line_number":161,"context_line":"                elif not isinstance(sys.exc_info()[0], test_obj.skipException):"},{"line_number":162,"context_line":"                    self.switch_role_history[key] \u003d False"},{"line_number":163,"context_line":"                    error_message \u003d (\u0027An exception was raised during test \u0027"},{"line_number":164,"context_line":"                                     \u0027setup so the RBAC action was never \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_85b509d0","line":161,"range":{"start_line":161,"start_character":16,"end_line":161,"end_character":79},"updated":"2017-06-13 04:28:34.000000000","message":"else:","commit_id":"700497135a522aa8a233b4442fb0631daac848b3"}],"patrole_tempest_plugin/tests/unit/test_rbac_utils.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"18e090dd67335ccad7776fe178f25d10df50994b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    @mock.patch.object(rbac_utils.RbacUtils, \u0027_clear_user_roles\u0027,"},{"line_number":85,"context_line":"                       autospec\u003dTrue, return_value\u003dFalse)"},{"line_number":86,"context_line":"    def test_initialization_with_missing_admin_role(self, _):"},{"line_number":87,"context_line":"        self._fake_rbac_utils_setup()"},{"line_number":88,"context_line":"        self.mock_test_obj.os_admin \u003d mock.Mock("},{"line_number":89,"context_line":"            **{\u0027roles_v3_client.list_roles.return_value\u0027:"},{"line_number":90,"context_line":"               {\u0027roles\u0027: [{\u0027name\u0027: \u0027Member\u0027, \u0027id\u0027: \u0027member_id\u0027}]}})"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_8503c973","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":37},"updated":"2017-06-13 04:31:42.000000000","message":"Remove","commit_id":"700497135a522aa8a233b4442fb0631daac848b3"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"18e090dd67335ccad7776fe178f25d10df50994b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self.rbac_utils.rbac_role_id \u003d None"},{"line_number":93,"context_line":"        e \u003d self.assertRaises(rbac_exceptions.RbacResourceSetupFailed,"},{"line_number":94,"context_line":"                              self.rbac_utils.switch_role, self.mock_test_obj,"},{"line_number":95,"context_line":"                              True, False)"},{"line_number":96,"context_line":"        self.assertIn(\"Role with name \u0027admin\u0027 does not exist in the system.\","},{"line_number":97,"context_line":"                      e.__str__())"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_05d699f2","line":95,"range":{"start_line":95,"start_character":30,"end_line":95,"end_character":34},"updated":"2017-06-13 04:31:42.000000000","message":"False","commit_id":"700497135a522aa8a233b4442fb0631daac848b3"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"18e090dd67335ccad7776fe178f25d10df50994b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        self.rbac_utils.rbac_role_id \u003d None"},{"line_number":107,"context_line":"        e \u003d self.assertRaises(rbac_exceptions.RbacResourceSetupFailed,"},{"line_number":108,"context_line":"                              self.rbac_utils.switch_role, self.mock_test_obj,"},{"line_number":109,"context_line":"                              True, False)"},{"line_number":110,"context_line":"        self.assertIn(\"Role defined by rbac_test_role does not exist in the \""},{"line_number":111,"context_line":"                      \"system.\", e.__str__())"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_e506fd86","line":109,"range":{"start_line":109,"start_character":30,"end_line":109,"end_character":34},"updated":"2017-06-13 04:31:42.000000000","message":"False","commit_id":"700497135a522aa8a233b4442fb0631daac848b3"}]}
