)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3d8ea2c3d9669cea542710ed9d814936f7df50f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0bf75a6e_9af48224","updated":"2023-12-05 20:34:30.000000000","message":"I agree with Ash!  These is a perfectly reasonable re-org and test_base deserves to be broken up; why not start with these.","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"c73bf0a14e271956f652562ac8efb1cb93d574e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"01e0351a_c48f47a6","updated":"2023-12-05 17:38:52.000000000","message":"The test_disconnected_logging method is testing the logging behavior when a client disconnects during a read operation. It checks whether the appropriate log messages are generated.\n\nThe test_range_fast_forward method is testing the fast_forward method of the GetOrHeadHandler class. It checks whether the Range header in the backend is updated correctly when the fast_forward method is called.\n\nThe test_range_fast_forward_after_data_timeout method is testing the behavior of the fast_forward method after a data timeout. It checks whether the Range header in the backend is updated correctly when the fast_forward method is called after learning the size from the content range.\n\nThe tests look eligible to be subclassed within TestGetOrHeadHandler","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2fc6f77b9e36439c186c4ed2f539b33af571418e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1fde9a86_9b7005b6","updated":"2023-12-06 15:01:54.000000000","message":"doh! thanks for the fixup on the followup","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"}],"test/unit/proxy/controllers/test_base.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3d8ea2c3d9669cea542710ed9d814936f7df50f9","unresolved":true,"context_lines":[{"line_number":1670,"context_line":"        src.resp.nuke_from_orbit.assert_called_once_with()"},{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":""},{"line_number":1673,"context_line":"@patch_policies([StoragePolicy(0, \u0027zero\u0027, True, object_ring\u003dFakeRing())])"},{"line_number":1674,"context_line":"class TestGetOrHeadHandler(BaseTest):"},{"line_number":1675,"context_line":"    def test_disconnected_logging(self):"},{"line_number":1676,"context_line":"        self.app.logger \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"23e806ae_edc72aaa","line":1673,"updated":"2023-12-05 20:34:30.000000000","message":"for me these tests pass w/o this patch_policies; I\u0027d suggest we ditch it.","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d4fe34cc4f909d8ca2f74156ded550fbd5fe76a9","unresolved":true,"context_lines":[{"line_number":1670,"context_line":"        src.resp.nuke_from_orbit.assert_called_once_with()"},{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":""},{"line_number":1673,"context_line":"@patch_policies([StoragePolicy(0, \u0027zero\u0027, True, object_ring\u003dFakeRing())])"},{"line_number":1674,"context_line":"class TestGetOrHeadHandler(BaseTest):"},{"line_number":1675,"context_line":"    def test_disconnected_logging(self):"},{"line_number":1676,"context_line":"        self.app.logger \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"71c4e22e_d497ceb6","line":1673,"in_reply_to":"23e806ae_edc72aaa","updated":"2023-12-06 10:37:26.000000000","message":"for me and zuul they don\u0027t 😊","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2fc6f77b9e36439c186c4ed2f539b33af571418e","unresolved":false,"context_lines":[{"line_number":1670,"context_line":"        src.resp.nuke_from_orbit.assert_called_once_with()"},{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":""},{"line_number":1673,"context_line":"@patch_policies([StoragePolicy(0, \u0027zero\u0027, True, object_ring\u003dFakeRing())])"},{"line_number":1674,"context_line":"class TestGetOrHeadHandler(BaseTest):"},{"line_number":1675,"context_line":"    def test_disconnected_logging(self):"},{"line_number":1676,"context_line":"        self.app.logger \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"0fff5244_8cd2b3c4","line":1673,"in_reply_to":"71c4e22e_d497ceb6","updated":"2023-12-06 15:01:54.000000000","message":"Acknowledged","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3d8ea2c3d9669cea542710ed9d814936f7df50f9","unresolved":true,"context_lines":[{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":""},{"line_number":1673,"context_line":"@patch_policies([StoragePolicy(0, \u0027zero\u0027, True, object_ring\u003dFakeRing())])"},{"line_number":1674,"context_line":"class TestGetOrHeadHandler(BaseTest):"},{"line_number":1675,"context_line":"    def test_disconnected_logging(self):"},{"line_number":1676,"context_line":"        self.app.logger \u003d mock.Mock()"},{"line_number":1677,"context_line":"        req \u003d Request.blank(\u0027/v1/a/c/o\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e1528352_1dac53cd","line":1674,"updated":"2023-12-05 20:34:30.000000000","message":"ok, and BaseTest mostly is for setting up self.app\n\n... which all of these GetOrHeadHandler/fast_forward tests use - KUDOS","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d4fe34cc4f909d8ca2f74156ded550fbd5fe76a9","unresolved":false,"context_lines":[{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":""},{"line_number":1673,"context_line":"@patch_policies([StoragePolicy(0, \u0027zero\u0027, True, object_ring\u003dFakeRing())])"},{"line_number":1674,"context_line":"class TestGetOrHeadHandler(BaseTest):"},{"line_number":1675,"context_line":"    def test_disconnected_logging(self):"},{"line_number":1676,"context_line":"        self.app.logger \u003d mock.Mock()"},{"line_number":1677,"context_line":"        req \u003d Request.blank(\u0027/v1/a/c/o\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c9803aa3_e8c6de27","line":1674,"in_reply_to":"e1528352_1dac53cd","updated":"2023-12-06 10:37:26.000000000","message":"Acknowledged","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"3d8ea2c3d9669cea542710ed9d814936f7df50f9","unresolved":true,"context_lines":[{"line_number":1673,"context_line":"@patch_policies([StoragePolicy(0, \u0027zero\u0027, True, object_ring\u003dFakeRing())])"},{"line_number":1674,"context_line":"class TestGetOrHeadHandler(BaseTest):"},{"line_number":1675,"context_line":"    def test_disconnected_logging(self):"},{"line_number":1676,"context_line":"        self.app.logger \u003d mock.Mock()"},{"line_number":1677,"context_line":"        req \u003d Request.blank(\u0027/v1/a/c/o\u0027)"},{"line_number":1678,"context_line":"        headers \u003d {\u0027content-type\u0027: \u0027text/plain\u0027}"},{"line_number":1679,"context_line":"        source \u003d FakeSource([], headers\u003dheaders, body\u003db\u0027the cake is a lie\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"4dd839f5_453dc371","line":1676,"updated":"2023-12-05 20:34:30.000000000","message":"i have a preference to use the existing debug_logger:\n\nhttps://review.opendev.org/c/openstack/swift/+/902726","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d4fe34cc4f909d8ca2f74156ded550fbd5fe76a9","unresolved":true,"context_lines":[{"line_number":1673,"context_line":"@patch_policies([StoragePolicy(0, \u0027zero\u0027, True, object_ring\u003dFakeRing())])"},{"line_number":1674,"context_line":"class TestGetOrHeadHandler(BaseTest):"},{"line_number":1675,"context_line":"    def test_disconnected_logging(self):"},{"line_number":1676,"context_line":"        self.app.logger \u003d mock.Mock()"},{"line_number":1677,"context_line":"        req \u003d Request.blank(\u0027/v1/a/c/o\u0027)"},{"line_number":1678,"context_line":"        headers \u003d {\u0027content-type\u0027: \u0027text/plain\u0027}"},{"line_number":1679,"context_line":"        source \u003d FakeSource([], headers\u003dheaders, body\u003db\u0027the cake is a lie\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8c902ecc_c0005932","line":1676,"in_reply_to":"4dd839f5_453dc371","updated":"2023-12-06 10:37:26.000000000","message":"+1","commit_id":"36ce42f54e48cdbf6edfc63dcb7a20a08b4e89a4"}]}
