)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"7201b47264a8fe5afd971b8c1746e3ac25d3f385","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8f85cfc5_516d6506","updated":"2023-12-14 04:43:50.000000000","message":"yes, let\u0027s squash this.","commit_id":"880a0d83b97f5d63a5083206f2d18701951d6ea6"}],"test/unit/common/middleware/helpers.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"7201b47264a8fe5afd971b8c1746e3ac25d3f385","unresolved":true,"context_lines":[{"line_number":198,"context_line":"        except Exception:"},{"line_number":199,"context_line":"            # test_reconciler passes in an exploding response"},{"line_number":200,"context_line":"            is_success \u003d False"},{"line_number":201,"context_line":"        if is_success and method in (\u0027GET\u0027, \u0027HEAD\u0027):"},{"line_number":202,"context_line":"            # update sticky resp headers with headers from registered resp"},{"line_number":203,"context_line":"            sticky_headers \u003d self._sticky_headers.get(env[\u0027PATH_INFO\u0027], {})"},{"line_number":204,"context_line":"            resp_headers \u003d HeaderKeyDict(sticky_headers)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1811e4c7_bc3ec510","line":201,"updated":"2023-12-14 04:43:50.000000000","message":"thanks!","commit_id":"880a0d83b97f5d63a5083206f2d18701951d6ea6"}],"test/unit/common/middleware/s3api/test_bucket.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"1ac02efda4c8de236ba6fd8d1429d43df3c31ad8","unresolved":true,"context_lines":[{"line_number":40,"context_line":"PFS_ETAG \u003d \u0027\"pfsv2/AUTH_test/01234567/89abcdef-32\"\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class BaseS3ApiBucket(object):"},{"line_number":44,"context_line":"    def setup_objects(self):"},{"line_number":45,"context_line":"        self.objects \u003d ((\u0027lily\u0027, \u00272011-01-05T02:19:14.275290\u0027, \u00270\u0027, \u00273909\u0027),"},{"line_number":46,"context_line":"                        (u\u0027lily-\\u062a\u0027, \u00272011-01-05T02:19:14.275290\u0027, 0, 390),"}],"source_content_type":"text/x-python","patch_set":1,"id":"2ed5aafc_0377fdd2","line":43,"updated":"2023-12-13 19:03:40.000000000","message":"applying the same patter as used in other modules","commit_id":"d0e3ada0aa82c65e887e053717dda0c9bf211bba"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"7201b47264a8fe5afd971b8c1746e3ac25d3f385","unresolved":true,"context_lines":[{"line_number":40,"context_line":"PFS_ETAG \u003d \u0027\"pfsv2/AUTH_test/01234567/89abcdef-32\"\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class BaseS3ApiBucket(object):"},{"line_number":44,"context_line":"    def setup_objects(self):"},{"line_number":45,"context_line":"        self.objects \u003d ((\u0027lily\u0027, \u00272011-01-05T02:19:14.275290\u0027, \u00270\u0027, \u00273909\u0027),"},{"line_number":46,"context_line":"                        (u\u0027lily-\\u062a\u0027, \u00272011-01-05T02:19:14.275290\u0027, 0, 390),"}],"source_content_type":"text/x-python","patch_set":1,"id":"a9b1d48d_7c9cb927","line":43,"in_reply_to":"2ed5aafc_0377fdd2","updated":"2023-12-14 04:43:50.000000000","message":"yes, i like this better","commit_id":"d0e3ada0aa82c65e887e053717dda0c9bf211bba"}],"test/unit/common/middleware/s3api/test_multi_delete.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"7201b47264a8fe5afd971b8c1746e3ac25d3f385","unresolved":true,"context_lines":[{"line_number":622,"context_line":"        req.content_type \u003d \u0027text/plain\u0027"},{"line_number":623,"context_line":""},{"line_number":624,"context_line":"        return self.call_s3api(req)"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"    def test_object_multi_DELETE_without_permission(self):"},{"line_number":627,"context_line":"        status, headers, body \u003d self._test_object_multi_DELETE(\u0027test:other\u0027)"},{"line_number":628,"context_line":"        self.assertEqual(status.split()[0], \u0027200\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"189a6f2e_e8e5c8ac","line":625,"updated":"2023-12-14 04:43:50.000000000","message":"fair enough","commit_id":"880a0d83b97f5d63a5083206f2d18701951d6ea6"}],"test/unit/common/middleware/s3api/test_obj.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"7201b47264a8fe5afd971b8c1746e3ac25d3f385","unresolved":true,"context_lines":[{"line_number":1826,"context_line":"                            swob.HTTPOk, {}, None),"},{"line_number":1827,"context_line":"        code \u003d self._test_method_error(\u0027GET\u0027, \u0027/bucket/object\u0027,"},{"line_number":1828,"context_line":"                                       swob.HTTPRequestedRangeNotSatisfiable)"},{"line_number":1829,"context_line":"        self.assertEqual(code, \u0027InvalidRange\u0027)"},{"line_number":1830,"context_line":""},{"line_number":1831,"context_line":"    def test_object_GET_without_permission(self):"},{"line_number":1832,"context_line":"        status, headers, body \u003d self._test_object_for_s3acl(\u0027GET\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"8b914d97_dc340a4b","line":1829,"updated":"2023-12-14 04:43:50.000000000","message":"i think it will be confusing to have the same test name on both classes, i think i prefer the if self.swift.s3acl; but could also get behind an unconditional HEAD register.","commit_id":"880a0d83b97f5d63a5083206f2d18701951d6ea6"}]}
