)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e35e4f9630140ed5e5491355e53bb34a0549cd61","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Use more specific asserts in test/unit/common/middleware"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I changed asserts with more specific assert methods."},{"line_number":10,"context_line":"e.g.: from assertTrue(sth \u003d\u003d None) to assertIsNone(*) or"},{"line_number":11,"context_line":"assertTrue(isinstance(inst, type)) to assertIsInstace(inst, type)"},{"line_number":12,"context_line":"or assertTrue(not sth) to assertFalse(sth)."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a71b18c_425df113","line":10,"updated":"2016-12-12 00:37:56.000000000","message":"should be:\n\n  assertIsNone(sth)","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"41d441054e0473bde6d41a87367438cd28823243","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Use more specific asserts in test/unit/common/middleware"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I changed asserts with more specific assert methods."},{"line_number":10,"context_line":"e.g.: from assertTrue(sth \u003d\u003d None) to assertIsNone(*) or"},{"line_number":11,"context_line":"assertTrue(isinstance(inst, type)) to assertIsInstace(inst, type)"},{"line_number":12,"context_line":"or assertTrue(not sth) to assertFalse(sth)."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"1a6eadb0_95cc0937","line":10,"in_reply_to":"3a71b18c_425df113","updated":"2016-12-13 15:23:56.000000000","message":"Done","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"}],"test/unit/common/middleware/test_container_sync.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e35e4f9630140ed5e5491355e53bb34a0549cd61","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        for realm, realm_info in info[\u0027container_sync\u0027][\u0027realms\u0027].items():"},{"line_number":87,"context_line":"            for cluster, options in realm_info[\u0027clusters\u0027].items():"},{"line_number":88,"context_line":"                self.assertFalse(options.get(\u0027current\u0027))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def test_current_invalid(self):"},{"line_number":91,"context_line":"        self.conf \u003d {\u0027swift_dir\u0027: self.tempdir, \u0027current\u0027: \u0027foo\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_82a1c9fa","line":88,"updated":"2016-12-12 00:37:56.000000000","message":"I\u0027m not convinced that you needed to remove the default to False, becuase with this change if there is no current it\u0027ll return None, which isn\u0027t false. To should be:\n\n  self.assertFalse(options.get(\u0027current\u0027, False))","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"41d441054e0473bde6d41a87367438cd28823243","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        for realm, realm_info in info[\u0027container_sync\u0027][\u0027realms\u0027].items():"},{"line_number":87,"context_line":"            for cluster, options in realm_info[\u0027clusters\u0027].items():"},{"line_number":88,"context_line":"                self.assertFalse(options.get(\u0027current\u0027))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def test_current_invalid(self):"},{"line_number":91,"context_line":"        self.conf \u003d {\u0027swift_dir\u0027: self.tempdir, \u0027current\u0027: \u0027foo\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_f5d1bdfc","line":88,"in_reply_to":"3a71b18c_82a1c9fa","updated":"2016-12-13 15:23:56.000000000","message":"Done","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e35e4f9630140ed5e5491355e53bb34a0549cd61","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        for realm, realm_info in info[\u0027container_sync\u0027][\u0027realms\u0027].items():"},{"line_number":107,"context_line":"            for cluster, options in realm_info[\u0027clusters\u0027].items():"},{"line_number":108,"context_line":"                self.assertFalse(options.get(\u0027current\u0027))"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        error_lines \u003d self.sync.logger.get_lines_for_level(\u0027error\u0027)"},{"line_number":111,"context_line":"        self.assertEqual(error_lines, [\u0027Invalid current \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_a2a245fa","line":108,"updated":"2016-12-12 00:37:56.000000000","message":"Same here.","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"41d441054e0473bde6d41a87367438cd28823243","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        for realm, realm_info in info[\u0027container_sync\u0027][\u0027realms\u0027].items():"},{"line_number":107,"context_line":"            for cluster, options in realm_info[\u0027clusters\u0027].items():"},{"line_number":108,"context_line":"                self.assertFalse(options.get(\u0027current\u0027))"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        error_lines \u003d self.sync.logger.get_lines_for_level(\u0027error\u0027)"},{"line_number":111,"context_line":"        self.assertEqual(error_lines, [\u0027Invalid current \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_55d99120","line":108,"in_reply_to":"3a71b18c_a2a245fa","updated":"2016-12-13 15:23:56.000000000","message":"Done","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e35e4f9630140ed5e5491355e53bb34a0549cd61","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        for realm, realm_info in info[\u0027container_sync\u0027][\u0027realms\u0027].items():"},{"line_number":153,"context_line":"            for cluster, options in realm_info[\u0027clusters\u0027].items():"},{"line_number":154,"context_line":"                self.assertFalse(options.get(\u0027current\u0027))"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        for line in self.sync.logger.get_lines_for_level(\u0027error\u0027):"},{"line_number":157,"context_line":"            self.assertEqual(line, \u0027Unknown current \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_c2a74109","line":154,"updated":"2016-12-12 00:37:56.000000000","message":"and here","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"41d441054e0473bde6d41a87367438cd28823243","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        for realm, realm_info in info[\u0027container_sync\u0027][\u0027realms\u0027].items():"},{"line_number":153,"context_line":"            for cluster, options in realm_info[\u0027clusters\u0027].items():"},{"line_number":154,"context_line":"                self.assertFalse(options.get(\u0027current\u0027))"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        for line in self.sync.logger.get_lines_for_level(\u0027error\u0027):"},{"line_number":157,"context_line":"            self.assertEqual(line, \u0027Unknown current \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_7504cd7d","line":154,"in_reply_to":"3a71b18c_c2a74109","updated":"2016-12-13 15:23:56.000000000","message":"Done","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            \u0027for support.\u0027)"},{"line_number":175,"context_line":"        self.assertIn(\u0027cs:not-3-args\u0027,"},{"line_number":176,"context_line":"                      req.environ.get(\u0027swift.log_info\u0027),"},{"line_number":177,"context_line":"                      req.environ.get(\u0027swift.log_info\u0027))"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def test_realm_miss(self):"},{"line_number":180,"context_line":"        req \u003d swob.Request.blank("}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_34a686c3","line":177,"updated":"2017-08-23 18:00:02.000000000","message":"You can drop the second argument now; assertIn gives a good failure message without it.","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"72174b048cb003dc9b63bc96b60b14639f7b51df","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            \u0027for support.\u0027)"},{"line_number":175,"context_line":"        self.assertIn(\u0027cs:not-3-args\u0027,"},{"line_number":176,"context_line":"                      req.environ.get(\u0027swift.log_info\u0027),"},{"line_number":177,"context_line":"                      req.environ.get(\u0027swift.log_info\u0027))"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def test_realm_miss(self):"},{"line_number":180,"context_line":"        req \u003d swob.Request.blank("}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_7b2c9dab","line":177,"in_reply_to":"7f287b81_34a686c3","updated":"2017-08-31 07:56:18.000000000","message":"True point.","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":200,"context_line":"            \u0027for support.\u0027)"},{"line_number":201,"context_line":"        self.assertIn(\u0027cs:no-local-user-key\u0027,"},{"line_number":202,"context_line":"                      req.environ.get(\u0027swift.log_info\u0027),"},{"line_number":203,"context_line":"                      req.environ.get(\u0027swift.log_info\u0027))"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def test_invalid_sig(self):"},{"line_number":206,"context_line":"        req \u003d swob.Request.blank("}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_f4afde91","line":203,"updated":"2017-08-23 18:00:02.000000000","message":"Same here","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"}],"test/unit/common/middleware/test_copy.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":1530,"context_line":"                \u0027__file__\u0027: conffile.name"},{"line_number":1531,"context_line":"            })(\"no app here\")"},{"line_number":1532,"context_line":""},{"line_number":1533,"context_line":"        self.assertIs(ssc.object_post_as_copy, False)"},{"line_number":1534,"context_line":"        self.assertFalse(ssc.logger.get_lines_for_level(\u0027warning\u0027))"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"    def _test_post_as_copy_emits_warning(self, conf):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_74c2ce35","line":1533,"updated":"2017-08-23 18:00:02.000000000","message":"These assertions get a bit confused. We\u0027ve got one on line 1503 that just says assertFalse, so any falsey value will do, and then we\u0027ve got this one that asserts that the value is False, so only False will do.\n\nLet\u0027s just go with assertFalse here since that matches how this attribute is used in the code.","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"72174b048cb003dc9b63bc96b60b14639f7b51df","unresolved":false,"context_lines":[{"line_number":1530,"context_line":"                \u0027__file__\u0027: conffile.name"},{"line_number":1531,"context_line":"            })(\"no app here\")"},{"line_number":1532,"context_line":""},{"line_number":1533,"context_line":"        self.assertIs(ssc.object_post_as_copy, False)"},{"line_number":1534,"context_line":"        self.assertFalse(ssc.logger.get_lines_for_level(\u0027warning\u0027))"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":"    def _test_post_as_copy_emits_warning(self, conf):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_3cf46ff0","line":1533,"in_reply_to":"7f287b81_74c2ce35","updated":"2017-08-31 07:56:18.000000000","message":"I don\u0027t think it\u0027s a good idea assertTrue(x) (or assertFalse(x)) basically do assertEqual(bool(x), True). Here is an example:\n\n\n        self.assertEqual(True, True)\n        self.assertEqual(\"True\", True)  # AssertionError: \u0027True\u0027 !\u003d True\n        self.assertEqual(123, True)  # AssertionError: 123 !\u003d True\n        self.assertEqual(\"sth\", True)  # AssertionError: \u0027sth\u0027 !\u003d True\n        self.assertEqual(None, False)  # AssertionError: None !\u003d False\n\n        self.assertTrue(True)  # OK\n        self.assertTrue(\"True\")  # OK\n        self.assertTrue(123)  # OK\n        self.assertTrue(\"sth\")  # OK\n        self.assertFalse(None)  # OK\n\nWhile assertIs() does exact comparison and works exactly as the old assertions.","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":1538,"context_line":"                        return_value\u003ddebug_logger(\u0027copy\u0027)):"},{"line_number":1539,"context_line":"            ssc \u003d copy.filter_factory(conf)(\"no app here\")"},{"line_number":1540,"context_line":""},{"line_number":1541,"context_line":"        self.assertIs(ssc.object_post_as_copy, True)"},{"line_number":1542,"context_line":"        log_lines \u003d ssc.logger.get_lines_for_level(\u0027warning\u0027)"},{"line_number":1543,"context_line":"        self.assertEqual(1, len(log_lines))"},{"line_number":1544,"context_line":"        self.assertIn(\u0027object_post_as_copy\u003dtrue is deprecated\u0027, log_lines[0])"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_f4eb5ead","line":1541,"updated":"2017-08-23 18:00:02.000000000","message":"just assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"}],"test/unit/common/middleware/test_keystoneauth.py":[{"author":{"_account_id":18603,"name":"Béla Vancsics","email":"vancsics@inf.u-szeged.hu","username":"vancsics"},"change_message_id":"b3e4704bc37d929dfbefe6c8d1dc9b7d4e51a37e","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        self.assertEqual(resp.status_int, 200)"},{"line_number":314,"context_line":"        self.assertEqual(len(fake_app.call_contexts), 1)"},{"line_number":315,"context_line":"        headers_sent \u003d fake_app.call_contexts[0][\u0027headers\u0027]"},{"line_number":316,"context_line":"        self.assertFalse(\u0027X-Account-Sysmeta-Project-Domain-Id\u0027 in headers_sent,"},{"line_number":317,"context_line":"                         headers_sent)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def test_project_domain_id_sysmeta_set_unknown_with_v2(self):"},{"line_number":320,"context_line":"        proj_id \u003d \u002712345678\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_465df977","line":317,"range":{"start_line":316,"start_character":0,"end_line":317,"end_character":38},"updated":"2017-03-22 10:20:39.000000000","message":"self.assertFalse() -\u003e self.assertNotIn()","commit_id":"6155b8e7e704aafd2bddfb17437bafe859aea7b8"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        self.assertEqual(len(fake_app.call_contexts), 1)"},{"line_number":315,"context_line":"        headers_sent \u003d fake_app.call_contexts[0][\u0027headers\u0027]"},{"line_number":316,"context_line":"        self.assertFalse(\u0027X-Account-Sysmeta-Project-Domain-Id\u0027 in headers_sent,"},{"line_number":317,"context_line":"                         headers_sent)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def test_project_domain_id_sysmeta_set_unknown_with_v2(self):"},{"line_number":320,"context_line":"        proj_id \u003d \u002712345678\u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_f4123eb1","side":"PARENT","line":317,"updated":"2017-08-23 18:00:02.000000000","message":"Drop the third argument here","commit_id":"87340e5f29905defbbc76ff17ae3db94befcbfe0"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        self.assertEqual(len(fake_app.call_contexts), 1)"},{"line_number":265,"context_line":"        headers_sent \u003d fake_app.call_contexts[0][\u0027headers\u0027]"},{"line_number":266,"context_line":"        self.assertIn(\u0027X-Account-Sysmeta-Project-Domain-Id\u0027, headers_sent,"},{"line_number":267,"context_line":"                      headers_sent)"},{"line_number":268,"context_line":"        self.assertEqual(headers_sent[\u0027X-Account-Sysmeta-Project-Domain-Id\u0027],"},{"line_number":269,"context_line":"                         proj_domain_id)"},{"line_number":270,"context_line":"        self.assertIn(\u0027X-Account-Project-Domain-Id\u0027, resp.headers)"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_541472a0","line":267,"updated":"2017-08-23 18:00:02.000000000","message":"Drop the third argument here","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":292,"context_line":"        self.assertEqual(len(fake_app.call_contexts), 1)"},{"line_number":293,"context_line":"        headers_sent \u003d fake_app.call_contexts[0][\u0027headers\u0027]"},{"line_number":294,"context_line":"        self.assertIn(\u0027X-Account-Sysmeta-Project-Domain-Id\u0027, headers_sent,"},{"line_number":295,"context_line":"                      headers_sent)"},{"line_number":296,"context_line":"        self.assertEqual(headers_sent[\u0027X-Account-Sysmeta-Project-Domain-Id\u0027],"},{"line_number":297,"context_line":"                         UNKNOWN_ID)"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_94489acc","line":295,"updated":"2017-08-23 18:00:02.000000000","message":"Drop the third argument here","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":336,"context_line":"        self.assertEqual(len(fake_app.call_contexts), 1)"},{"line_number":337,"context_line":"        headers_sent \u003d fake_app.call_contexts[0][\u0027headers\u0027]"},{"line_number":338,"context_line":"        self.assertIn(\u0027X-Account-Sysmeta-Project-Domain-Id\u0027, headers_sent,"},{"line_number":339,"context_line":"                      headers_sent)"},{"line_number":340,"context_line":"        self.assertEqual(headers_sent[\u0027X-Account-Sysmeta-Project-Domain-Id\u0027],"},{"line_number":341,"context_line":"                         UNKNOWN_ID)"},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_9421bafe","line":339,"updated":"2017-08-23 18:00:02.000000000","message":"Drop the third argument here","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"}],"test/unit/common/middleware/test_slo.py":[{"author":{"_account_id":18603,"name":"Béla Vancsics","email":"vancsics@inf.u-szeged.hu","username":"vancsics"},"change_message_id":"b3e4704bc37d929dfbefe6c8d1dc9b7d4e51a37e","unresolved":false,"context_lines":[{"line_number":1814,"context_line":"        params \u003d dict(params)"},{"line_number":1815,"context_line":"        self.assertEqual(ct, \u0027multipart/byteranges\u0027)"},{"line_number":1816,"context_line":"        boundary \u003d params.get(\u0027boundary\u0027)"},{"line_number":1817,"context_line":"        self.assertTrue(boundary is not None)"},{"line_number":1818,"context_line":""},{"line_number":1819,"context_line":"        self.assertEqual(len(body), int(headers[\u0027Content-Length\u0027]))"},{"line_number":1820,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_26e63db0","line":1817,"range":{"start_line":1817,"start_character":8,"end_line":1817,"end_character":45},"updated":"2017-03-22 10:20:39.000000000","message":"self.assertTrue() -\u003e self.assertIsNotNone()","commit_id":"6155b8e7e704aafd2bddfb17437bafe859aea7b8"},{"author":{"_account_id":18603,"name":"Béla Vancsics","email":"vancsics@inf.u-szeged.hu","username":"vancsics"},"change_message_id":"b3e4704bc37d929dfbefe6c8d1dc9b7d4e51a37e","unresolved":false,"context_lines":[{"line_number":1888,"context_line":"        params \u003d dict(params)"},{"line_number":1889,"context_line":"        self.assertEqual(ct, \u0027multipart/byteranges\u0027)"},{"line_number":1890,"context_line":"        boundary \u003d params.get(\u0027boundary\u0027)"},{"line_number":1891,"context_line":"        self.assertTrue(boundary is not None)"},{"line_number":1892,"context_line":""},{"line_number":1893,"context_line":"        got_mime_docs \u003d []"},{"line_number":1894,"context_line":"        for mime_doc_fh in iter_multipart_mime_documents("}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_8601b13a","line":1891,"range":{"start_line":1891,"start_character":8,"end_line":1891,"end_character":45},"updated":"2017-03-22 10:20:39.000000000","message":"Ditto","commit_id":"6155b8e7e704aafd2bddfb17437bafe859aea7b8"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":1576,"context_line":""},{"line_number":1577,"context_line":"        self.assertEqual(status, \u0027200 OK\u0027)"},{"line_number":1578,"context_line":"        self.assertIn("},{"line_number":1579,"context_line":"            (\u0027Content-Type\u0027, \u0027application/json; charset\u003dutf-8\u0027), headers,"},{"line_number":1580,"context_line":"            headers)"},{"line_number":1581,"context_line":"        try:"},{"line_number":1582,"context_line":"            resp_data \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_94765a06","line":1579,"updated":"2017-08-23 18:00:02.000000000","message":"Drop the third argument here","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"}],"test/unit/common/middleware/test_tempauth.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e35e4f9630140ed5e5491355e53bb34a0549cd61","unresolved":false,"context_lines":[{"line_number":1223,"context_line":"        user_groups \u003d test_auth._get_user_groups(\u0027admin\u0027, \u0027admin:user\u0027,"},{"line_number":1224,"context_line":"                                                 \u0027AUTH_admin\u0027)"},{"line_number":1225,"context_line":"        good_headers \u003d {\u0027X-Auth-Token\u0027: \u0027AUTH_t\u0027}"},{"line_number":1226,"context_line":"        good_acl \u003d json.dumps({\"read-only\": [u\"?\", \"b\"]})"},{"line_number":1227,"context_line":"        bad_list_types \u003d \u0027{\"read-only\": [\"a\", 99]}\u0027"},{"line_number":1228,"context_line":"        bad_acl \u003d \u0027syntactically invalid acl -- this does not parse as JSON\u0027"},{"line_number":1229,"context_line":"        wrong_acl \u003d \u0027{\"other-auth-system\":[\"valid\",\"json\",\"but\",\"wrong\"]}\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_e2b0bd45","line":1226,"updated":"2016-12-12 00:37:56.000000000","message":"character change, change u\"?\" back to u\"á\"","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"41d441054e0473bde6d41a87367438cd28823243","unresolved":false,"context_lines":[{"line_number":1223,"context_line":"        user_groups \u003d test_auth._get_user_groups(\u0027admin\u0027, \u0027admin:user\u0027,"},{"line_number":1224,"context_line":"                                                 \u0027AUTH_admin\u0027)"},{"line_number":1225,"context_line":"        good_headers \u003d {\u0027X-Auth-Token\u0027: \u0027AUTH_t\u0027}"},{"line_number":1226,"context_line":"        good_acl \u003d json.dumps({\"read-only\": [u\"?\", \"b\"]})"},{"line_number":1227,"context_line":"        bad_list_types \u003d \u0027{\"read-only\": [\"a\", 99]}\u0027"},{"line_number":1228,"context_line":"        bad_acl \u003d \u0027syntactically invalid acl -- this does not parse as JSON\u0027"},{"line_number":1229,"context_line":"        wrong_acl \u003d \u0027{\"other-auth-system\":[\"valid\",\"json\",\"but\",\"wrong\"]}\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_752bedeb","line":1226,"in_reply_to":"3a71b18c_e2b0bd45","updated":"2016-12-13 15:23:56.000000000","message":"Done","commit_id":"f45271e5a02d229583cba5b87a8af3338a21336f"}],"test/unit/common/middleware/test_tempurl.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e35e4f9630140ed5e5491355e53bb34a0549cd61","unresolved":false,"context_lines":[{"line_number":965,"context_line":"        self.assertTrue(\u0027x-conflict-header-test\u0027 in resp.headers)"},{"line_number":966,"context_line":"        self.assertEqual(resp.headers[\u0027x-conflict-header-test\u0027], \u0027value\u0027)"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def test_get_account_and_container(self):"},{"line_number":969,"context_line":"        self.assertEqual(self.tempurl._get_account_and_container({"},{"line_number":970,"context_line":"            \u0027REQUEST_METHOD\u0027: \u0027HEAD\u0027, \u0027PATH_INFO\u0027: \u0027/v1/a/c/o\u0027}), (\u0027a\u0027, \u0027c\u0027))"},{"line_number":971,"context_line":"        self.assertEqual(self.tempurl._get_account_and_container({"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_629cadc0","side":"PARENT","line":968,"updated":"2016-12-12 00:37:56.000000000","message":"method definition has disapeared.","commit_id":"e67a57fb17d576239f8865910c9d56361263e0a9"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"41d441054e0473bde6d41a87367438cd28823243","unresolved":false,"context_lines":[{"line_number":965,"context_line":"        self.assertTrue(\u0027x-conflict-header-test\u0027 in resp.headers)"},{"line_number":966,"context_line":"        self.assertEqual(resp.headers[\u0027x-conflict-header-test\u0027], \u0027value\u0027)"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def test_get_account_and_container(self):"},{"line_number":969,"context_line":"        self.assertEqual(self.tempurl._get_account_and_container({"},{"line_number":970,"context_line":"            \u0027REQUEST_METHOD\u0027: \u0027HEAD\u0027, \u0027PATH_INFO\u0027: \u0027/v1/a/c/o\u0027}), (\u0027a\u0027, \u0027c\u0027))"},{"line_number":971,"context_line":"        self.assertEqual(self.tempurl._get_account_and_container({"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_5547d1ba","side":"PARENT","line":968,"in_reply_to":"3a71b18c_629cadc0","updated":"2016-12-13 15:23:56.000000000","message":"Done","commit_id":"e67a57fb17d576239f8865910c9d56361263e0a9"},{"author":{"_account_id":18603,"name":"Béla Vancsics","email":"vancsics@inf.u-szeged.hu","username":"vancsics"},"change_message_id":"b3e4704bc37d929dfbefe6c8d1dc9b7d4e51a37e","unresolved":false,"context_lines":[{"line_number":831,"context_line":"                     (sig, expires, \u0027p1/p2/\u0027)})"},{"line_number":832,"context_line":"        resp \u003d req.get_response(self.tempurl)"},{"line_number":833,"context_line":"        self.assertEqual(resp.status_int, 401)"},{"line_number":834,"context_line":"        self.assertTrue(\u0027Temp URL invalid\u0027 in resp.body)"},{"line_number":835,"context_line":"        self.assertTrue(\u0027Www-Authenticate\u0027 in resp.headers)"},{"line_number":836,"context_line":""},{"line_number":837,"context_line":"    def test_object_url_with_prefix_invalid(self):"},{"line_number":838,"context_line":"        method \u003d \u0027GET\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_26fc7d71","line":835,"range":{"start_line":834,"start_character":0,"end_line":835,"end_character":59},"updated":"2017-03-22 10:20:39.000000000","message":"self.assertTrue() -\u003e self.assertIn()","commit_id":"6155b8e7e704aafd2bddfb17437bafe859aea7b8"},{"author":{"_account_id":18603,"name":"Béla Vancsics","email":"vancsics@inf.u-szeged.hu","username":"vancsics"},"change_message_id":"b3e4704bc37d929dfbefe6c8d1dc9b7d4e51a37e","unresolved":false,"context_lines":[{"line_number":848,"context_line":"                     (sig, expires)})"},{"line_number":849,"context_line":"        resp \u003d req.get_response(self.tempurl)"},{"line_number":850,"context_line":"        self.assertEqual(resp.status_int, 401)"},{"line_number":851,"context_line":"        self.assertTrue(\u0027Temp URL invalid\u0027 in resp.body)"},{"line_number":852,"context_line":"        self.assertTrue(\u0027Www-Authenticate\u0027 in resp.headers)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def test_disallowed_header_object_manifest(self):"},{"line_number":855,"context_line":"        self.tempurl \u003d tempurl.filter_factory({})(self.auth)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_86f7f189","line":852,"range":{"start_line":851,"start_character":0,"end_line":852,"end_character":59},"updated":"2017-03-22 10:20:39.000000000","message":"Ditto","commit_id":"6155b8e7e704aafd2bddfb17437bafe859aea7b8"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        self.assertEqual(resp.headers[\u0027expires\u0027],"},{"line_number":143,"context_line":"                         strftime(\u0027%a, %d %b %Y %H:%M:%S GMT\u0027,"},{"line_number":144,"context_line":"                                  gmtime(expires)))"},{"line_number":145,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":146,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def test_get_valid(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_b4d716c0","line":145,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        self.assertIn(\u0027expires\u0027, resp.headers)"},{"line_number":211,"context_line":"        self.assertEqual(\u0027Fri, 02 Jan 1970 01:01:01 GMT\u0027,"},{"line_number":212,"context_line":"                         resp.headers[\u0027expires\u0027])"},{"line_number":213,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":214,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    def test_head_valid_with_filename(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_d4daa2e7","line":213,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        self.assertIn(\u0027expires\u0027, resp.headers)"},{"line_number":277,"context_line":"        self.assertEqual(\u0027Thu, 01 Jan 1970 00:00:01 GMT\u0027,"},{"line_number":278,"context_line":"                         resp.headers[\u0027expires\u0027])"},{"line_number":279,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":280,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def test_get_valid_with_inline(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_14d14ace","line":279,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        self.assertEqual(resp.status_int, 200)"},{"line_number":295,"context_line":"        self.assertEqual(resp.headers[\u0027content-disposition\u0027], \u0027inline\u0027)"},{"line_number":296,"context_line":"        self.assertIn(\u0027expires\u0027, resp.headers)"},{"line_number":297,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":298,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    def test_get_valid_with_prefix(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_94e41aae","line":297,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                         \u0027attachment; filename\u003d\"a%0D%0Ab\"; \u0027 +"},{"line_number":342,"context_line":"                         \"filename*\u003dUTF-8\u0027\u0027a%0D%0Ab\")"},{"line_number":343,"context_line":"        self.assertIn(\u0027expires\u0027, resp.headers)"},{"line_number":344,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":345,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    def test_obj_odd_chars_in_content_disposition_metadata(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_14ea6a74","line":344,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        self.assertEqual(resp.headers[\u0027content-disposition\u0027],"},{"line_number":362,"context_line":"                         \u0027attachment; filename\u003d\"fu%0Abar\"\u0027)"},{"line_number":363,"context_line":"        self.assertIn(\u0027expires\u0027, resp.headers)"},{"line_number":364,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":365,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"    def test_obj_trailing_slash(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_d403c241","line":364,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":381,"context_line":"                         \u0027attachment; filename\u003d\"o\"; \u0027 +"},{"line_number":382,"context_line":"                         \"filename*\u003dUTF-8\u0027\u0027o\")"},{"line_number":383,"context_line":"        self.assertIn(\u0027expires\u0027, resp.headers)"},{"line_number":384,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":385,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"    def test_filename_trailing_slash(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_b4003636","line":384,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":402,"context_line":"            \u0027attachment; filename\u003d\"/i/want/this/just/as/it/is/\"; \u0027 +"},{"line_number":403,"context_line":"            \"filename*\u003dUTF-8\u0027\u0027/i/want/this/just/as/it/is/\")"},{"line_number":404,"context_line":"        self.assertIn(\u0027expires\u0027, resp.headers)"},{"line_number":405,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":406,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def test_get_valid_but_404(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_349a0614","line":405,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":420,"context_line":"        self.assertEqual(resp.status_int, 404)"},{"line_number":421,"context_line":"        self.assertNotIn(\u0027content-disposition\u0027, resp.headers)"},{"line_number":422,"context_line":"        self.assertNotIn(\u0027expires\u0027, resp.headers)"},{"line_number":423,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":424,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    def test_put_not_allowed_by_get(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_149f0a04","line":423,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":454,"context_line":"                         sig, expires)})"},{"line_number":455,"context_line":"        resp \u003d req.get_response(self.tempurl)"},{"line_number":456,"context_line":"        self.assertEqual(resp.status_int, 404)"},{"line_number":457,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":458,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    def test_get_not_allowed_by_put(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_d48862c7","line":457,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                         sig, expires)})"},{"line_number":550,"context_line":"        resp \u003d req.get_response(self.tempurl)"},{"line_number":551,"context_line":"        self.assertEqual(resp.status_int, 404)"},{"line_number":552,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":553,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    def test_head_allowed_by_put(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_b485d6af","line":552,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":566,"context_line":"                         sig, expires)})"},{"line_number":567,"context_line":"        resp \u003d req.get_response(self.tempurl)"},{"line_number":568,"context_line":"        self.assertEqual(resp.status_int, 404)"},{"line_number":569,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":570,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"    def test_head_allowed_by_post(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_9492daf5","line":569,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"c9b36f13281a8f57e8f1f6ad7ac11f6d2757a167","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                         sig, expires)})"},{"line_number":584,"context_line":"        resp \u003d req.get_response(self.tempurl)"},{"line_number":585,"context_line":"        self.assertEqual(resp.status_int, 404)"},{"line_number":586,"context_line":"        self.assertIs(True, req.environ[\u0027swift.authorize_override\u0027])"},{"line_number":587,"context_line":"        self.assertEqual(req.environ[\u0027REMOTE_USER\u0027], \u0027.wsgi.tempurl\u0027)"},{"line_number":588,"context_line":""},{"line_number":589,"context_line":"    def test_head_otherwise_not_allowed(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f287b81_34c326f0","line":586,"updated":"2017-08-23 18:00:02.000000000","message":"Just use assertTrue","commit_id":"6daadabc62f8e31ca3a0676e5ea8501cf006fe85"}],"test/unit/common/middleware/test_xprofile.py":[{"author":{"_account_id":18603,"name":"Béla Vancsics","email":"vancsics@inf.u-szeged.hu","username":"vancsics"},"change_message_id":"b3e4704bc37d929dfbefe6c8d1dc9b7d4e51a37e","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        self.assertEqual(len(log_files), len(self.pids2))"},{"line_number":261,"context_line":"        log_files \u003d self.profile_log2.get_logfiles(\u0027current\u0027)"},{"line_number":262,"context_line":"        self.assertEqual(len(log_files), 1)"},{"line_number":263,"context_line":"        self.assertTrue(log_files[0].find(self.log_filename_prefix2 +"},{"line_number":264,"context_line":"                                          str(os.getpid())) \u003e -1)"},{"line_number":265,"context_line":"        log_files \u003d self.profile_log2.get_logfiles(self.pids2[0])"},{"line_number":266,"context_line":"        self.assertEqual(len(log_files), 1)"},{"line_number":267,"context_line":"        self.assertTrue(log_files[0].find(self.log_filename_prefix2 +"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_e62d0547","line":264,"range":{"start_line":263,"start_character":0,"end_line":264,"end_character":65},"updated":"2017-03-22 10:20:39.000000000","message":"self.assertTrue([...]) -\u003e self.assertGreater([], -1)","commit_id":"6155b8e7e704aafd2bddfb17437bafe859aea7b8"},{"author":{"_account_id":18603,"name":"Béla Vancsics","email":"vancsics@inf.u-szeged.hu","username":"vancsics"},"change_message_id":"b3e4704bc37d929dfbefe6c8d1dc9b7d4e51a37e","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                                          str(os.getpid())) \u003e -1)"},{"line_number":265,"context_line":"        log_files \u003d self.profile_log2.get_logfiles(self.pids2[0])"},{"line_number":266,"context_line":"        self.assertEqual(len(log_files), 1)"},{"line_number":267,"context_line":"        self.assertTrue(log_files[0].find(self.log_filename_prefix2 +"},{"line_number":268,"context_line":"                                          self.pids2[0]) \u003e -1)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def test_dump_profile(self):"},{"line_number":271,"context_line":"        prof \u003d xprofile.get_profiler(\u0027eventlet.green.profile\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_26247d5e","line":268,"range":{"start_line":267,"start_character":0,"end_line":268,"end_character":62},"updated":"2017-03-22 10:20:39.000000000","message":"Ditto","commit_id":"6155b8e7e704aafd2bddfb17437bafe859aea7b8"}]}
