)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"cefe6dcb03af3a21f0389f7dd192eb331bf27af0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"36817fd7_d6d1b2f0","updated":"2025-03-06 20:17:40.000000000","message":"check experimental","commit_id":"fc5774dde1b5efbb0f7857ee386aa7ced8dba6bc"}],"test/unit/common/middleware/test_cname_lookup.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"175bd28b168ef9b5a309011261a51804ec54a22d","unresolved":true,"context_lines":[{"line_number":321,"context_line":"        resp \u003d do_test(\u0027c.badtest.com\u0027)"},{"line_number":322,"context_line":"        self.assertEqual(resp, bad_domain)"},{"line_number":323,"context_line":"        self.assertEqual(1, len(mock_lookup.mock_calls))"},{"line_number":324,"context_line":"        mock_lookup.reset_mock()"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        resp \u003d do_test(\u0027storage.example.com\u0027)"},{"line_number":327,"context_line":"        self.assertEqual(resp, [b\u0027FAKE APP\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"fd78eb9d_6574928c","line":324,"range":{"start_line":324,"start_character":20,"end_line":324,"end_character":30},"updated":"2025-03-07 09:47:17.000000000","message":"nice, so we can also avoid res\u003dusing the same mock","commit_id":"f1c4c0fb719a4a8c362b38b1a7635ea533106ce6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"175bd28b168ef9b5a309011261a51804ec54a22d","unresolved":true,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        module \u003d \u0027swift.common.middleware.cname_lookup.lookup_cname\u0027"},{"line_number":180,"context_line":"        dns_module \u003d \u0027swift.common.middleware.cname_lookup.\u0027 \\"},{"line_number":181,"context_line":"            \u0027dns.resolver.Resolver.query\u0027"},{"line_number":182,"context_line":"        memcache \u003d memcache_stub()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        with mock.patch(module) as m:"}],"source_content_type":"text/x-python","patch_set":3,"id":"e07b569d_4e05782a","line":181,"updated":"2025-03-07 09:47:17.000000000","message":"ok, that\u0027s subtle...so the module/type that\u0027s mocked is somehow copied when imported such that ``dns.resolver.Resolver`` is not ``swift.common.middleware.cname_lookup.dns.resolver.Resolver``","commit_id":"62cb4736eda9460467538e31c726ce5fa6d4625e"}],"test/unit/container/test_sharder.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"175bd28b168ef9b5a309011261a51804ec54a22d","unresolved":true,"context_lines":[{"line_number":3691,"context_line":"        # repeat with handoff node and db_file error"},{"line_number":3692,"context_line":"        with self._mock_sharder(conf\u003dconf) as sharder:"},{"line_number":3693,"context_line":"            with mock_timestamp_now(now):"},{"line_number":3694,"context_line":"                with mock.patch(\u0027os.stat\u0027, side_effect\u003dOSError(\u0027test error\u0027)):"},{"line_number":3695,"context_line":"                    for broker in brokers:"},{"line_number":3696,"context_line":"                        sharder._identify_sharding_candidate(broker, {})"},{"line_number":3697,"context_line":"        stats_0_b \u003d {\u0027path\u0027: brokers[0].db_file,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7ae8dc56_d70eec42","line":3694,"updated":"2025-03-07 09:47:17.000000000","message":"ok, looks like mock_timestamp calls stat so mock stat last","commit_id":"62cb4736eda9460467538e31c726ce5fa6d4625e"}]}
