)]}'
{"HACKING.rst":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"85e0c38bfe13fb412a3b5c19087f5f8ee9650a66","unresolved":false,"context_lines":[{"line_number":22,"context_line":"- [N330] Use assertEqual(*empty*, observed) instead of"},{"line_number":23,"context_line":"         assertEqual(observed, *empty*)"},{"line_number":24,"context_line":"- [N331] Detect wrong usage with assertTrue(isinstance())."},{"line_number":25,"context_line":"- [N332] Use assertEqual(expected_code, observed_code) instead of"},{"line_number":26,"context_line":"         assertEqual(observed_code, expected_code)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Creating Unit Tests"},{"line_number":29,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a5de9d1_1607ba82","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":50},"updated":"2016-02-02 01:31:06.000000000","message":"I feel that this is duplicated message to N328 and N330. It\u0027s better to clarify the issue in message.","commit_id":"3c4cb37640d4728a7b09bb7df6756b7304258ebe"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"70b17252b42d9f299c9502122b727c9b50cd4800","unresolved":false,"context_lines":[{"line_number":22,"context_line":"- [N330] Use assertEqual(*empty*, observed) instead of"},{"line_number":23,"context_line":"         assertEqual(observed, *empty*)"},{"line_number":24,"context_line":"- [N331] Detect wrong usage with assertTrue(isinstance())."},{"line_number":25,"context_line":"- [N332] Use assertEqual(expected_code, observed_code) instead of"},{"line_number":26,"context_line":"         assertEqual(observed_code, expected_code)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Creating Unit Tests"},{"line_number":29,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a5de9d1_e421049f","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":50},"in_reply_to":"7a5de9d1_1607ba82","updated":"2016-02-02 02:24:08.000000000","message":"Hi, Hirofumi, I think I can agree with your point that messages for assertEqual seem duplicated. But I\u0027m not sure what is \"clarify the issue in message\", like \"[N332] Detect wrong usage with assertEqual(observed_http_code, expected_http_code)\", or something else?\n\nOr, should we remove the N332 and N330 messages, and just keep N328, for they\u0027re just small branches of N328. I\u0027d like to do changing for that, but I\u0027m not sure is this patch a right place to do such a thing.","commit_id":"3c4cb37640d4728a7b09bb7df6756b7304258ebe"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"037804ee4278be560bcbd1f55d72f663da812d02","unresolved":false,"context_lines":[{"line_number":22,"context_line":"- [N330] Use assertEqual(*empty*, observed) instead of"},{"line_number":23,"context_line":"         assertEqual(observed, *empty*)"},{"line_number":24,"context_line":"- [N331] Detect wrong usage with assertTrue(isinstance())."},{"line_number":25,"context_line":"- [N332] Use assertEqual(expected_code, observed_code) instead of"},{"line_number":26,"context_line":"         assertEqual(observed_code, expected_code)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Creating Unit Tests"},{"line_number":29,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a5de9d1_da9aa061","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":50},"in_reply_to":"7a5de9d1_5feb05dc","updated":"2016-02-02 06:03:13.000000000","message":"Done","commit_id":"3c4cb37640d4728a7b09bb7df6756b7304258ebe"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"fbd68593d433c03d6fb6f908aae9300505de29e4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"- [N330] Use assertEqual(*empty*, observed) instead of"},{"line_number":23,"context_line":"         assertEqual(observed, *empty*)"},{"line_number":24,"context_line":"- [N331] Detect wrong usage with assertTrue(isinstance())."},{"line_number":25,"context_line":"- [N332] Use assertEqual(expected_code, observed_code) instead of"},{"line_number":26,"context_line":"         assertEqual(observed_code, expected_code)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Creating Unit Tests"},{"line_number":29,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a5de9d1_9f52dd65","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":50},"in_reply_to":"7a5de9d1_5feb05dc","updated":"2016-02-02 03:18:39.000000000","message":"Sure, makes sense to me.","commit_id":"3c4cb37640d4728a7b09bb7df6756b7304258ebe"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"fea42fff931fe83b874c6987d6ef385a722037e4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"- [N330] Use assertEqual(*empty*, observed) instead of"},{"line_number":23,"context_line":"         assertEqual(observed, *empty*)"},{"line_number":24,"context_line":"- [N331] Detect wrong usage with assertTrue(isinstance())."},{"line_number":25,"context_line":"- [N332] Use assertEqual(expected_code, observed_code) instead of"},{"line_number":26,"context_line":"         assertEqual(observed_code, expected_code)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Creating Unit Tests"},{"line_number":29,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a5de9d1_5feb05dc","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":50},"in_reply_to":"7a5de9d1_e421049f","updated":"2016-02-02 03:06:19.000000000","message":"I meant it\u0027s better to describe here \"[N332] Use assertEqual(expected_http_code, observed_http_code) instead of assertEqual(observed_http_code, expected_http_code)\" in THIS patch.\n\nHowever, I guess that we should clear up these messages in another patch.","commit_id":"3c4cb37640d4728a7b09bb7df6756b7304258ebe"}],"neutron/hacking/checks.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bd8a6b55337b5c74a13ecaa2d7241398f5c1468d","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    if \u0027neutron/tests/\u0027 in filename:"},{"line_number":233,"context_line":"        if re.search(r\"assertEqual\\(\\s*[^,]*,[^,]*HTTP[^\\.]*\\.code\\s*\\)\","},{"line_number":234,"context_line":"                     logical_line):"},{"line_number":235,"context_line":"            msg \u003d (\"N332: Use assertEqual(expected_code, observed_code)\""},{"line_number":236,"context_line":"                   \"instead of assertEqual(observed_code, expected_code)\")"},{"line_number":237,"context_line":"            yield (0, msg)"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_bf423966","line":235,"updated":"2016-02-02 03:24:11.000000000","message":"missing space at the end of the line","commit_id":"bdfad25673e80736dc11e1d688ac2f31694b078a"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"b1f4f12952842f4eb144f77ee7c1d63b0993459a","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    if \u0027neutron/tests/\u0027 in filename:"},{"line_number":233,"context_line":"        if re.search(r\"assertEqual\\(\\s*[^,]*,[^,]*HTTP[^\\.]*\\.code\\s*\\)\","},{"line_number":234,"context_line":"                     logical_line):"},{"line_number":235,"context_line":"            msg \u003d (\"N332: Use assertEqual(expected_code, observed_code)\""},{"line_number":236,"context_line":"                   \"instead of assertEqual(observed_code, expected_code)\")"},{"line_number":237,"context_line":"            yield (0, msg)"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_7aa60caf","line":235,"in_reply_to":"7a5de9d1_bf423966","updated":"2016-02-02 06:03:26.000000000","message":"Done","commit_id":"bdfad25673e80736dc11e1d688ac2f31694b078a"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"43c2827f5a1b02a45c90cccf34581183c1762cc4","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    if \u0027neutron/tests/\u0027 in filename:"},{"line_number":233,"context_line":"        if re.search(r\"assertEqual\\(\\s*[^,]*,[^,]*HTTP[^\\.]*\\.code\\s*\\)\","},{"line_number":234,"context_line":"                     logical_line):"},{"line_number":235,"context_line":"            msg \u003d (\"N332: Use assertEqual(expected_code, observed_code)\""},{"line_number":236,"context_line":"                   \"instead of assertEqual(observed_code, expected_code)\")"},{"line_number":237,"context_line":"            yield (0, msg)"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_bab24404","line":235,"in_reply_to":"7a5de9d1_bf423966","updated":"2016-02-02 06:01:51.000000000","message":"good catch!","commit_id":"bdfad25673e80736dc11e1d688ac2f31694b078a"}],"neutron/tests/unit/hacking/test_checks.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fef4c41264cbc469df5f3bbc44adafabbfc8a455","unresolved":false,"context_lines":[{"line_number":269,"context_line":"                self.assertEqual(webob.exc.HTTPBadRequest.code, res.status_int)"},{"line_number":270,"context_line":"                \"\"\""},{"line_number":271,"context_line":"        self.assertEqual("},{"line_number":272,"context_line":"            1, len(list(checks.check_assertequal_for_httpcode(fail_code,"},{"line_number":273,"context_line":"                                        \"neutron/tests/test_assert.py\"))))"},{"line_number":274,"context_line":"        self.assertEqual("},{"line_number":275,"context_line":"            0, len(list(checks.check_assertequal_for_httpcode(pass_code,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_2e2d6446","line":272,"updated":"2016-01-28 14:34:41.000000000","message":"In the failure check, is there any desire to check the message?","commit_id":"b097cc947f8c721607fbca5c6526f4690d7dea96"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fef4c41264cbc469df5f3bbc44adafabbfc8a455","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            1, len(list(checks.check_assertequal_for_httpcode(fail_code,"},{"line_number":273,"context_line":"                                        \"neutron/tests/test_assert.py\"))))"},{"line_number":274,"context_line":"        self.assertEqual("},{"line_number":275,"context_line":"            0, len(list(checks.check_assertequal_for_httpcode(pass_code,"},{"line_number":276,"context_line":"                                        \"neutron/tests/test_assert.py\"))))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_8e51f8da","line":275,"updated":"2016-01-28 14:34:41.000000000","message":"nit: could do:\n    self.assertFalse(list(checks.check_assertequal_for_httpcode(...)))","commit_id":"b097cc947f8c721607fbca5c6526f4690d7dea96"}]}
