)]}'
{"cinder/context.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3f49cba5f529ef5bd17aea31b8cfae96980e71a3","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            {\u0027project_id\u0027: self.project_id, \u0027user_id\u0027: self.user_id}"},{"line_number":159,"context_line":"        :param: target_obj: dictionary representing the object which will be"},{"line_number":160,"context_line":"            used to update target."},{"line_number":161,"context_line":"        :param fatal: if False, will return False when an"},{"line_number":162,"context_line":"            exception.NotAuthorized occurs."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        :raises cinder.exception.NotAuthorized: if verification fails and fatal"},{"line_number":165,"context_line":"            is True."}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_1653b718","line":162,"range":{"start_line":161,"start_character":22,"end_line":162,"end_character":43},"updated":"2017-12-11 15:15:36.000000000","message":"This will raise a PolicyNotAuthorized exception from oslo.policy instead of cinder.execption: \n\nhttps://github.com/openstack/oslo.policy/blob/master/oslo_policy/policy.py#L882","commit_id":"8d1ba84cf62cc78f68d8753eec94ae9bcbcce720"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3f49cba5f529ef5bd17aea31b8cfae96980e71a3","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        else:"},{"line_number":178,"context_line":"            target.update(target_obj or {})"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        return policy.authorize(self, action, target, do_raise\u003dfatal)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    def to_policy_values(self):"},{"line_number":183,"context_line":"        policy \u003d super(RequestContext, self).to_policy_values()"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_a30bab27","line":180,"range":{"start_line":180,"start_character":8,"end_line":180,"end_character":69},"updated":"2017-12-11 15:15:36.000000000","message":"You can pass a specific for oslo.policy to raise here - if needed: \nhttps://github.com/openstack/oslo.policy/blob/master/oslo_policy/policy.py#L911","commit_id":"8d1ba84cf62cc78f68d8753eec94ae9bcbcce720"}],"cinder/tests/unit/api/contrib/test_used_limits.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3f49cba5f529ef5bd17aea31b8cfae96980e71a3","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        res \u003d wsgi.ResponseObject(obj)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # unallow user to access used limits"},{"line_number":113,"context_line":"        _mock_policy_authorize.return_value \u003d False"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        self.controller.index(fake_req, res)"},{"line_number":116,"context_line":"        abs_limits \u003d res.obj[\u0027limits\u0027][\u0027absolute\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_b6a3ebff","line":113,"range":{"start_line":113,"start_character":31,"end_line":113,"end_character":51},"updated":"2017-12-11 15:15:36.000000000","message":"Shouldn\u0027t this still expect an exception?","commit_id":"8d1ba84cf62cc78f68d8753eec94ae9bcbcce720"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"7333aa24d30fcbbef330046db837726c30bfc51a","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        res \u003d wsgi.ResponseObject(obj)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # unallow user to access used limits"},{"line_number":113,"context_line":"        _mock_policy_authorize.return_value \u003d False"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        self.controller.index(fake_req, res)"},{"line_number":116,"context_line":"        abs_limits \u003d res.obj[\u0027limits\u0027][\u0027absolute\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_8430dfa0","line":113,"range":{"start_line":113,"start_character":31,"end_line":113,"end_character":51},"in_reply_to":"df87a7cf_b6a3ebff","updated":"2017-12-12 00:55:37.000000000","message":"The return value is \u0027False\u0027 now as we mocked the inner function with the parameter do_raise\u003dFalse.","commit_id":"8d1ba84cf62cc78f68d8753eec94ae9bcbcce720"}]}
