)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"97df900a4071d47f92f4328f30204301507fb778","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"53218d5b_aed479bc","updated":"2026-08-31 19:47:29.000000000","message":"Good call! One little suggestion: https://review.opendev.org/c/openstack/swift/+/1003115\n\nMind if I just push over with the fix?","commit_id":"c7c98b30accebaaa5fc92a7d6bc87b2093383019"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"db0fd4797d2eed7bd8c50cb4019e6d9d5337bd8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"94ec2d33_85ff9e99","updated":"2026-08-31 16:44:54.000000000","message":"recheck\n\nSeems like there were some weird CI-runner issues... not seen these before, though:\n```\n2026-08-31 13:28:13.032262 | TASK [bindep : Install distro packages from bindep]\n2026-08-31 13:28:18.671306 | ERROR! A worker was found in a dead state\n2026-08-31 13:28:18.681244 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master]\n2026-08-31 13:28:19.382407 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master]\n```","commit_id":"c7c98b30accebaaa5fc92a7d6bc87b2093383019"}],"test/unit/common/middleware/test_object_versioning.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"97df900a4071d47f92f4328f30204301507fb778","unresolved":true,"context_lines":[{"line_number":297,"context_line":"        status, headers, body \u003d self.call_ov(req)"},{"line_number":298,"context_line":"        self.assertEqual(status, \u0027401 Unauthorized\u0027)"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        methods_paths \u003d [(m, p) for m, p, _h in self.app.calls_with_headers]"},{"line_number":301,"context_line":"        self.assertNotIn((\u0027PUT\u0027, self.build_versions_path()), methods_paths)"},{"line_number":302,"context_line":"        self.assertNotIn("},{"line_number":303,"context_line":"            (\u0027DELETE\u0027, self.build_versions_path()), methods_paths)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7fa8665e_b860110b","line":300,"updated":"2026-08-31 19:47:29.000000000","message":"There\u0027s a `self.app.calls` helper for exactly this. (IIRC, we started out with `self.app.calls`, then later realized we sometimes also want to track and check headers, so we switched to `self.app.calls_with_headers` and added a property so we didn\u0027t have to churn a bunch of tests.)","commit_id":"c7c98b30accebaaa5fc92a7d6bc87b2093383019"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"97df900a4071d47f92f4328f30204301507fb778","unresolved":true,"context_lines":[{"line_number":298,"context_line":"        self.assertEqual(status, \u0027401 Unauthorized\u0027)"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        methods_paths \u003d [(m, p) for m, p, _h in self.app.calls_with_headers]"},{"line_number":301,"context_line":"        self.assertNotIn((\u0027PUT\u0027, self.build_versions_path()), methods_paths)"},{"line_number":302,"context_line":"        self.assertNotIn("},{"line_number":303,"context_line":"            (\u0027DELETE\u0027, self.build_versions_path()), methods_paths)"},{"line_number":304,"context_line":"        self.assertEqual(len(self.authorized), 1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"498f24f0_94e642f8","line":301,"updated":"2026-08-31 19:47:29.000000000","message":"nit: Could be even stronger as something like\n```\nself.assertNotIn(\u0027PUT\u0027, [m for m, _p in self.app.calls])\n```\nor\n```\nself.assertEqual(self.app.calls, [\n    (\u0027HEAD\u0027, \u0027/v1/a\u0027),\n    (\u0027HEAD\u0027, \u0027/v1/a/c\u0027),\n])\n\n```\n...but OTOH, the FakeSwift would complain like `Didn\u0027t find (\u0027PUT\u0027, ...) in allowed responses` if there was a PUT anywhere else... meh.","commit_id":"c7c98b30accebaaa5fc92a7d6bc87b2093383019"}]}
