)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"8c84ed546fe4be700c6ab038bc4fb5c645ed6123","unresolved":false,"context_lines":[{"line_number":16,"context_line":"non-admin context. For v2 API, the unitest keep as before and add"},{"line_number":17,"context_line":"non-admin context test to ensure the v2 back-comaptible."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Partially implements bp v3-api-policy"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I68a1f1362318ae3d50793ed0d353bf609b01710c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bab921fb_59466dc0","line":19,"updated":"2015-04-23 05:33:27.000000000","message":"is this correct?","commit_id":"f1d2828095f83ab9665b624326e23a1c83c66643"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a5c497777c4891072f5d75c84671ab3984e4c3c8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"non-admin context. For v2 API, the unitest keep as before and add"},{"line_number":17,"context_line":"non-admin context test to ensure the v2 back-comaptible."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Partially implements bp v3-api-policy"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I68a1f1362318ae3d50793ed0d353bf609b01710c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bab921fb_c43a94cd","line":19,"in_reply_to":"bab921fb_59466dc0","updated":"2015-04-23 05:47:44.000000000","message":"oops, I forget that, thanks","commit_id":"f1d2828095f83ab9665b624326e23a1c83c66643"}],"nova/api/openstack/compute/plugins/v3/quota_sets.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"068956837b32b4248d65b6140bdbc836ab13ed96","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    # TODO(oomichi): Here should be 204(No Content) instead of 202 by v2.1"},{"line_number":172,"context_line":"    # +microversions because the resource quota-set has been deleted completely"},{"line_number":173,"context_line":"    # when returning a response."},{"line_number":174,"context_line":"    @extensions.expected_errors(403)"},{"line_number":175,"context_line":"    @wsgi.response(202)"},{"line_number":176,"context_line":"    def delete(self, req, id):"},{"line_number":177,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3acd31a7_c5b9f616","line":174,"updated":"2015-05-05 11:26:33.000000000","message":"will this be removed? \n\nexception.PolicyNotAuthorized\nwill be returned ,so no 403 directly returned...","commit_id":"69c18beca8ec724aa34d4f460debc63180009d61"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ec780a778f16ce40532d5895de08b038961fcd4c","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    # TODO(oomichi): Here should be 204(No Content) instead of 202 by v2.1"},{"line_number":172,"context_line":"    # +microversions because the resource quota-set has been deleted completely"},{"line_number":173,"context_line":"    # when returning a response."},{"line_number":174,"context_line":"    @extensions.expected_errors(403)"},{"line_number":175,"context_line":"    @wsgi.response(202)"},{"line_number":176,"context_line":"    def delete(self, req, id):"},{"line_number":177,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3acd31a7_dd8aea1a","line":174,"in_reply_to":"3acd31a7_c5b9f616","updated":"2015-05-05 12:56:15.000000000","message":"good catch, will update","commit_id":"69c18beca8ec724aa34d4f460debc63180009d61"}],"nova/tests/unit/api/openstack/compute/contrib/test_quotas.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"6f304fbb688dd5027ec7414b13e9190c3700917a","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        if self._is_v20_api_test():"},{"line_number":619,"context_line":"            self.ext_mgr.is_loaded(\u0027os-extended-quotas\u0027).AndReturn(True)"},{"line_number":620,"context_line":"            self.mox.ReplayAll()"},{"line_number":621,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake4/os-quota-sets/1234\u0027)"},{"line_number":622,"context_line":"        self.assertRaises(webob.exc.HTTPForbidden, self.controller.delete,"},{"line_number":623,"context_line":"                          req, 1234)"},{"line_number":624,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_8e709141","line":621,"updated":"2015-05-29 18:17:10.000000000","message":"This doesn\u0027t use the _get_http_request() helper method you added on line 561.  Do you need the method?","commit_id":"7a853fb4ddc42f036c0dc562b2d150f6b670155d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"212b227f35fe844e217b14867f5a22aec1716306","unresolved":false,"context_lines":[{"line_number":618,"context_line":"        if self._is_v20_api_test():"},{"line_number":619,"context_line":"            self.ext_mgr.is_loaded(\u0027os-extended-quotas\u0027).AndReturn(True)"},{"line_number":620,"context_line":"            self.mox.ReplayAll()"},{"line_number":621,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake4/os-quota-sets/1234\u0027)"},{"line_number":622,"context_line":"        self.assertRaises(webob.exc.HTTPForbidden, self.controller.delete,"},{"line_number":623,"context_line":"                          req, 1234)"},{"line_number":624,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3afb71cf_333904f3","line":621,"in_reply_to":"7a016987_8e709141","updated":"2015-06-10 02:56:53.000000000","message":"\"_get_http_request\" is only used for normal testcase (In QuotaSetsTestV2 most of testcase use admin context.). In this case it use non-admin, so I didn\u0027t use that helper function.\n\nThe goal is all the V2.1 tests needn\u0027t admin context. But the V2 still need admin context. So I created that helper function.\n\nFor some negative tests, I must use a different context, so in those tests I won\u0027t use the helper function.","commit_id":"7a853fb4ddc42f036c0dc562b2d150f6b670155d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"6f304fbb688dd5027ec7414b13e9190c3700917a","unresolved":false,"context_lines":[{"line_number":670,"context_line":""},{"line_number":671,"context_line":"    def test_user_quotas_delete_with_non_admin(self):"},{"line_number":672,"context_line":"        self.setup_mock_for_update()"},{"line_number":673,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake4/os-quota-sets/1234?user_id\u003d1\u0027)"},{"line_number":674,"context_line":"        self.assertRaises(webob.exc.HTTPForbidden, self.controller.delete,"},{"line_number":675,"context_line":"                          req, \u00271234\u0027)"},{"line_number":676,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_2e963d3e","line":673,"updated":"2015-05-29 18:17:10.000000000","message":"Again, doesn\u0027t use _get_http_request(); do you need it?","commit_id":"7a853fb4ddc42f036c0dc562b2d150f6b670155d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"212b227f35fe844e217b14867f5a22aec1716306","unresolved":false,"context_lines":[{"line_number":670,"context_line":""},{"line_number":671,"context_line":"    def test_user_quotas_delete_with_non_admin(self):"},{"line_number":672,"context_line":"        self.setup_mock_for_update()"},{"line_number":673,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake4/os-quota-sets/1234?user_id\u003d1\u0027)"},{"line_number":674,"context_line":"        self.assertRaises(webob.exc.HTTPForbidden, self.controller.delete,"},{"line_number":675,"context_line":"                          req, \u00271234\u0027)"},{"line_number":676,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3afb71cf_7e186375","line":673,"in_reply_to":"7a016987_2e963d3e","updated":"2015-06-10 02:56:53.000000000","message":"Same reason as above","commit_id":"7a853fb4ddc42f036c0dc562b2d150f6b670155d"}]}
