)]}'
{"test/unit/common/middleware/s3api/__init__.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"3c536b1c9811f2702ef9032a9e8fffa5409e49fd","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        self.app \u003d FakeApp()"},{"line_number":81,"context_line":"        self.swift \u003d self.app.swift"},{"line_number":82,"context_line":"        self.s3api \u003d filter_factory({}, **self.conf)(self.app)"},{"line_number":83,"context_line":"        self.s3api.logger \u003d debug_logger()"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.swift.register(\u0027HEAD\u0027, \u0027/v1/AUTH_test\u0027,"},{"line_number":86,"context_line":"                            swob.HTTPOk, {}, None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffb9cba7_d9f8467c","line":83,"updated":"2019-04-29 19:34:50.000000000","message":"!!\n\nIf this does what I think it does (i.e., make it so the catch-all handler at https://github.com/openstack/swift/blob/2.21.0/swift/common/middleware/s3api/s3api.py#L238-L240 no longer massacres all useful info from failed unit tests), I may hug you when I see you in Denver. Consider yourself warned.","commit_id":"58352b285d6532321c6dfbe0e94218799c615ef2"}],"test/unit/common/middleware/s3api/test_multi_upload.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"3c536b1c9811f2702ef9032a9e8fffa5409e49fd","unresolved":false,"context_lines":[{"line_number":66,"context_line":"     (\u0027subdir/object/Z/2\u0027, \u00272014-05-07T19:47:58.592270\u0027, \u0027fedcba9876543210\u0027,"},{"line_number":67,"context_line":"      41))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"S3_ETAG \u003d \u0027\"%s-2\"\u0027 % hashlib.md5(("},{"line_number":70,"context_line":"    \u00270123456789abcdef0123456789abcdef\u0027"},{"line_number":71,"context_line":"    \u0027fedcba9876543210fedcba9876543210\u0027).decode(\u0027hex\u0027)).hexdigest()"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ffb9cba7_19033e75","line":69,"updated":"2019-04-29 19:34:50.000000000","message":"+1 omg so much better. I hadn\u0027t thought nearly hard enough about how annoying it was to figure out where these are defined given the old name...","commit_id":"58352b285d6532321c6dfbe0e94218799c615ef2"}]}
