)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"b0bd89fa019fe48efdc9b56edefcc2778485b6cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"264d919f_80e744e3","updated":"2023-02-15 15:24:34.000000000","message":"I was confused about this test when trying to reason about it during Tim\u0027s refactor on I9823d00e78479e3335f7a25d0d2c99b63c1f9c12.\n\nI think this makes more sense and is more useful.","commit_id":"88651b0c1488ed88da061b4fb3f1a895a5c99294"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"4c744ce088e7cc22ee71713a0381096ff4c47c8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e139a355_1e72908a","updated":"2023-02-16 20:17:08.000000000","message":"oops","commit_id":"88651b0c1488ed88da061b4fb3f1a895a5c99294"}],"test/unit/common/middleware/helpers.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"4c744ce088e7cc22ee71713a0381096ff4c47c8c","unresolved":true,"context_lines":[{"line_number":279,"context_line":"        self._responses[(method, path)] \u003d list(responses)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    def clear_calls(self):"},{"line_number":282,"context_line":"        del self._calls[:]"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"class FakeAppThatExcepts(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"32841bdb_9379b31a","line":282,"updated":"2023-02-16 20:17:08.000000000","message":"i ment to also remove this from child class in test/unit/common/middleware/s3api/helpers.py","commit_id":"88651b0c1488ed88da061b4fb3f1a895a5c99294"}],"test/unit/common/middleware/test_account_quotas.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"b0bd89fa019fe48efdc9b56edefcc2778485b6cb","unresolved":true,"context_lines":[{"line_number":470,"context_line":"    def test_copy_cannot_bypass_quota(self):"},{"line_number":471,"context_line":"        body \u003d b\u0027a\u0027 * 99"},{"line_number":472,"context_line":"        self.app.register(\u0027GET\u0027, \u0027/v1/a/c2/o3\u0027, HTTPOk, {"},{"line_number":473,"context_line":"            \u0027Content-Length\u0027: len(body)}, [body])"},{"line_number":474,"context_line":"        self.app.register(\u0027PUT\u0027, \u0027/v1/a/c/o\u0027, HTTPCreated, {})"},{"line_number":475,"context_line":"        self.headers[:] \u003d [(\u0027x-account-bytes-used\u0027, \u00271000\u0027),"},{"line_number":476,"context_line":"                           (\u0027x-account-meta-quota-bytes\u0027, \u00271000\u0027)]"}],"source_content_type":"text/x-python","patch_set":1,"id":"c855d8d6_6ae7da94","line":473,"updated":"2023-02-15 15:24:34.000000000","message":"what seemed to be going on is that copy mw will *always* reject the copy with 413 if the GET resp is \"transfer encoding chunked\"\n\n... the trick to getting FakeSwift/resp_class to set/leave the content-length header seemed to be BOTH adding \u0027Content-Length\u0027 header, but also the body has to be a string/list and not an iterator.","commit_id":"88651b0c1488ed88da061b4fb3f1a895a5c99294"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"b0bd89fa019fe48efdc9b56edefcc2778485b6cb","unresolved":true,"context_lines":[{"line_number":493,"context_line":"        self.assertEqual(res.status_int, 413)"},{"line_number":494,"context_line":"        self.assertEqual(self.app.calls, ["},{"line_number":495,"context_line":"            (\u0027GET\u0027, \u0027/v1/a/c2/o3\u0027),"},{"line_number":496,"context_line":"            (\u0027HEAD\u0027, \u0027/v1/a\u0027),"},{"line_number":497,"context_line":"        ])"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    def test_quota_copy_from_bad_src(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da50b60f_b9e53ec5","line":496,"updated":"2023-02-15 15:24:34.000000000","message":"and now when the PUT request comes through (after copy has the GET resp plugged into the PUT request body) it will have a content length so account meta will reject the request.","commit_id":"88651b0c1488ed88da061b4fb3f1a895a5c99294"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d613077f5c881def0022cd00be818899c660601d","unresolved":true,"context_lines":[{"line_number":493,"context_line":"        self.assertEqual(res.status_int, 413)"},{"line_number":494,"context_line":"        self.assertEqual(self.app.calls, ["},{"line_number":495,"context_line":"            (\u0027GET\u0027, \u0027/v1/a/c2/o3\u0027),"},{"line_number":496,"context_line":"            (\u0027HEAD\u0027, \u0027/v1/a\u0027),"},{"line_number":497,"context_line":"        ])"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    def test_quota_copy_from_bad_src(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"34b6d847_f003c768","line":496,"in_reply_to":"da50b60f_b9e53ec5","updated":"2023-02-15 16:45:00.000000000","message":"I don\u0027t understand how this test is any different from test_exceed_bytes_quota_copy_from.\n\nIs the real complaint that I should rename the test so it\u0027s clear that it\u0027s testing the `Transfer-Encoding: chunked` case?","commit_id":"88651b0c1488ed88da061b4fb3f1a895a5c99294"}]}
