)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"9143086bca8a3efc913d0d9dee1db5be4bfa6cbb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"return from reconstructor _get_response."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also, use assertFalse to verify empty log lines, since a failure"},{"line_number":13,"context_line":"will then result in any log lines being shown in failure message."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ia83517e6d4c2f5eeb136abd4c04ddab639d40b9e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a30ddce_5e49c35e","line":13,"updated":"2017-03-07 18:49:22.000000000","message":"oh nice!","commit_id":"4d303240b87e2914bde3f6ae7962442255d5510f"}],"test/unit/obj/test_reconstructor.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"9143086bca8a3efc913d0d9dee1db5be4bfa6cbb","unresolved":false,"context_lines":[{"line_number":678,"context_line":"                                             headers\u003d{},"},{"line_number":679,"context_line":"                                             policy\u003dPOLICIES[1])"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"            # Make sure that no warnings are emitted for a 404"},{"line_number":682,"context_line":"            len_warning_lines \u003d len(self.logger.get_lines_for_level(\u0027warning\u0027))"},{"line_number":683,"context_line":"            self.assertEqual(len_warning_lines, 0)"},{"line_number":684,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a30ddce_fe41973a","side":"PARENT","line":681,"updated":"2017-03-07 18:49:22.000000000","message":"this should be dedented too?\n\nwhy are we even in here?\n\n    diff --git a/test/unit/obj/test_reconstructor.py b/test/unit/obj/test_reconstructor.py\n    index d9ade10..d75a727 100644\n    --- a/test/unit/obj/test_reconstructor.py\n    +++ b/test/unit/obj/test_reconstructor.py\n    @@ -672,15 +672,29 @@ class TestGlobalSetupObjectReconstructor(unittest.TestCase):\n         def test_reconstructor_does_not_log_on_404(self):\n             part \u003d self.part_nums[0]\n             node \u003d POLICIES[1].object_ring.get_part_nodes(int(part))[0]\n    +        with mocked_http_conn(503):\n    +            resp \u003d self.reconstructor._get_response(node, part,\n    +                                                    path\u003d\u0027some_path\u0027,\n    +                                                    headers\u003d{},\n    +                                                    policy\u003dself.policy)\n    +            self.assertIsNone(resp)\n    +        # we should get a warning on 503 (sanity)\n    +        warnings \u003d self.logger.get_lines_for_level(\u0027warning\u0027)\n    +        self.assertEqual(1, len(warnings))\n    +        for msg in warnings:\n    +            self.assertIn(\u0027Invalid response 503\u0027, msg)\n    +        self.logger.clear()\n    +        # ... but not for 404\n             with mocked_http_conn(404):\n                 resp \u003d self.reconstructor._get_response(node, part,\n                                                         path\u003d\u0027some_path\u0027,\n                                                         headers\u003d{},\n                                                         policy\u003dself.policy)\n    -\n    -            # Make sure that no warnings are emitted for a 404\n    +            self.assertIsNone(resp)\n    +        # Make sure that no messages are emitted for a 404\n             self.assertFalse(self.logger.get_lines_for_level(\u0027warning\u0027))\n    -        self.assertIsNone(resp)\n    +        for level, msgs in self.logger.lines_dict.items():\n    +            self.assertEqual([], msgs)\n     \n         def test_reconstructor_skips_bogus_partition_dirs(self):\n             # A directory in the wrong place shouldn\u0027t crash the reconstructor","commit_id":"30524392f835e066a436f335f94e16537e2747bf"}]}
