)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4112e9ebfb941933e8d254a7c630d2162c62b6c4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"not available"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Patch in swift s3api middleware is in this change-id:"},{"line_number":13,"context_line":"  Ifb3c6c30835d912c5ba4b2e03f2e0b5cb392671a"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ibb5fc6a717b9bc938aa86c4550d156fe93dae65c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df33271e_46916d46","line":13,"updated":"2020-04-07 23:52:41.000000000","message":"Maybe worth doing\n\n Depends-On: https://review.opendev.org/#/c/718086/\n\n?","commit_id":"f7f403eac454fb5cbf4bdb0797dd43a3f01593c2"},{"author":{"_account_id":28499,"name":"Romain de Joux","email":"romain.de-joux@ovhcloud.com","username":"rdejoux"},"change_message_id":"b149ac16e8b8bf44a28e1bd4cb59832a6b537415","unresolved":false,"context_lines":[{"line_number":10,"context_line":"not available"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Patch in swift s3api middleware is in this change-id:"},{"line_number":13,"context_line":"  Ifb3c6c30835d912c5ba4b2e03f2e0b5cb392671a"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ibb5fc6a717b9bc938aa86c4550d156fe93dae65c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df33271e_12a151aa","line":13,"in_reply_to":"df33271e_46916d46","updated":"2020-04-08 20:26:08.000000000","message":"Done","commit_id":"f7f403eac454fb5cbf4bdb0797dd43a3f01593c2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"303b77bbd5a5a62174999a2aa8285f8f0b052fec","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Romain de Joux \u003cromain.de-joux@ovhcloud.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-04-08 10:08:08 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use swift.backend_info from Swift/s3api to extract account/container"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Still use PATH_INFO by default if s3api not enabled and swift.backend_path"},{"line_number":10,"context_line":"not available"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df33271e_34770ed7","line":7,"range":{"start_line":7,"start_character":10,"end_line":7,"end_character":22},"updated":"2020-04-08 20:00:43.000000000","message":"nit: backend_path, no?","commit_id":"93c4b5152d83183917a1f3a0ca925a4236c639f0"},{"author":{"_account_id":28499,"name":"Romain de Joux","email":"romain.de-joux@ovhcloud.com","username":"rdejoux"},"change_message_id":"b149ac16e8b8bf44a28e1bd4cb59832a6b537415","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Romain de Joux \u003cromain.de-joux@ovhcloud.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-04-08 10:08:08 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use swift.backend_info from Swift/s3api to extract account/container"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Still use PATH_INFO by default if s3api not enabled and swift.backend_path"},{"line_number":10,"context_line":"not available"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df33271e_f78008fa","line":7,"range":{"start_line":7,"start_character":10,"end_line":7,"end_character":22},"in_reply_to":"df33271e_34770ed7","updated":"2020-04-08 20:26:08.000000000","message":"Done","commit_id":"93c4b5152d83183917a1f3a0ca925a4236c639f0"}],"ceilometermiddleware/swift.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4112e9ebfb941933e8d254a7c630d2162c62b6c4","unresolved":false,"context_lines":[{"line_number":298,"context_line":"                env.get(\u0027swift.source\u0027) is not None):"},{"line_number":299,"context_line":"            return"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        path \u003d urlparse.quote(env.get(\u0027SWIFT_PATH_INFO\u0027, env[\u0027PATH_INFO\u0027]))"},{"line_number":302,"context_line":"        method \u003d env[\u0027REQUEST_METHOD\u0027]"},{"line_number":303,"context_line":"        headers \u003d {}"},{"line_number":304,"context_line":"        for header in env:"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_86b415d3","line":301,"range":{"start_line":301,"start_character":24,"end_line":301,"end_character":29},"updated":"2020-04-07 23:52:41.000000000","message":"Off-topic: this has a py3 bug -- on py3, PATH_INFO is populated by decoding the request line as latin-1, but without an encoding kwarg, urllib.parse.quote will assume strings should be encoded as utf-8. Something to watch out for.","commit_id":"f7f403eac454fb5cbf4bdb0797dd43a3f01593c2"}],"ceilometermiddleware/tests/test_swift.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    def test_head(self):"},{"line_number":164,"context_line":"        app \u003d swift.Swift(FakeApp(body\u003d[\u0027\u0027]), {})"},{"line_number":165,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container/obj\u0027,"},{"line_number":166,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027HEAD\u0027})"},{"line_number":167,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":168,"context_line":"            list(app(req.environ, self.start_response))"},{"line_number":169,"context_line":"            self.assertEqual(1, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_78df000c","line":166,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        \"\"\"Test even for arbitrary request method, this will still work.\"\"\""},{"line_number":181,"context_line":"        app \u003d swift.Swift(FakeApp(body\u003d[\u0027\u0027]), {})"},{"line_number":182,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container/obj\u0027,"},{"line_number":183,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027BOGUS\u0027})"},{"line_number":184,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":185,"context_line":"            list(app(req.environ, self.start_response))"},{"line_number":186,"context_line":"            self.assertEqual(1, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_d8e60ce9","line":183,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    def test_get_container(self):"},{"line_number":197,"context_line":"        app \u003d swift.Swift(FakeApp(), {})"},{"line_number":198,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":199,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027})"},{"line_number":200,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":201,"context_line":"            list(app(req.environ, self.start_response))"},{"line_number":202,"context_line":"            self.assertEqual(1, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b8e988b8","line":199,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":214,"context_line":"    def test_no_metadata_headers(self):"},{"line_number":215,"context_line":"        app \u003d swift.Swift(FakeApp(), {})"},{"line_number":216,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":217,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027})"},{"line_number":218,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":219,"context_line":"            list(app(req.environ, self.start_response))"},{"line_number":220,"context_line":"            self.assertEqual(1, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_18d074f7","line":217,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            \u0027metadata_headers\u0027: \u0027X_VAR1, x-var2, x-var3, token\u0027"},{"line_number":235,"context_line":"        })"},{"line_number":236,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":237,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027},"},{"line_number":238,"context_line":"                          headers\u003d{\u0027X_VAR1\u0027: \u0027value1\u0027,"},{"line_number":239,"context_line":"                                   \u0027X_VAR2\u0027: \u0027value2\u0027,"},{"line_number":240,"context_line":"                                   \u0027TOKEN\u0027: \u0027token\u0027})"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_f8caf043","line":237,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        })"},{"line_number":236,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":237,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027},"},{"line_number":238,"context_line":"                          headers\u003d{\u0027X_VAR1\u0027: \u0027value1\u0027,"},{"line_number":239,"context_line":"                                   \u0027X_VAR2\u0027: \u0027value2\u0027,"},{"line_number":240,"context_line":"                                   \u0027TOKEN\u0027: \u0027token\u0027})"},{"line_number":241,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_58dafc16","line":238,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        })"},{"line_number":263,"context_line":"        uni \u003d u\u0027\\xef\\xbd\\xa1\\xef\\xbd\\xa5\u0027"},{"line_number":264,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":265,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027},"},{"line_number":266,"context_line":"                          headers\u003d{\u0027UNICODE\u0027: uni})"},{"line_number":267,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":268,"context_line":"            list(app(req.environ, self.start_response))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_38d578e6","line":265,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        uni \u003d u\u0027\\xef\\xbd\\xa1\\xef\\xbd\\xa5\u0027"},{"line_number":264,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":265,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027},"},{"line_number":266,"context_line":"                          headers\u003d{\u0027UNICODE\u0027: uni})"},{"line_number":267,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":268,"context_line":"            list(app(req.environ, self.start_response))"},{"line_number":269,"context_line":"            self.assertEqual(1, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_9805a47d","line":266,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            \u0027metadata_headers\u0027: \u0027x-var3\u0027"},{"line_number":286,"context_line":"        })"},{"line_number":287,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":288,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027})"},{"line_number":289,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":290,"context_line":"            list(app(req.environ, self.start_response))"},{"line_number":291,"context_line":"            self.assertEqual(1, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_7808a090","line":288,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        mocked_func.side_effect \u003d Exception(\"a exception\")"},{"line_number":321,"context_line":"        app \u003d swift.Swift(FakeApp(body\u003d[\"test\"]), {})"},{"line_number":322,"context_line":"        req \u003d self.get_request(\u0027/1.0/account/container\u0027,"},{"line_number":323,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027})"},{"line_number":324,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":325,"context_line":"            resp \u003d list(app(req.environ, self.start_response))"},{"line_number":326,"context_line":"            self.assertEqual(0, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_d8ff2c65","line":323,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"79583925e16ed08766a4c4ed8ad1a233ac6cfa03","unresolved":false,"context_lines":[{"line_number":329,"context_line":"    def test_reseller_prefix(self):"},{"line_number":330,"context_line":"        app \u003d swift.Swift(FakeApp(), {})"},{"line_number":331,"context_line":"        req \u003d self.get_request(\u0027/1.0/AUTH_account/container/obj\u0027,"},{"line_number":332,"context_line":"                          environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027})"},{"line_number":333,"context_line":"        with mock.patch(\u0027oslo_messaging.Notifier.info\u0027) as notify:"},{"line_number":334,"context_line":"            list(app(req.environ, self.start_response))"},{"line_number":335,"context_line":"            self.assertEqual(1, len(notify.call_args_list))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b802286e","line":332,"updated":"2020-04-07 13:35:20.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"986e2339ac25933bef99fbd0a7712ac3c618657f"}]}
