)]}'
{"neutronclient/tests/unit/test_quota.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"87217eb8d2ada202d782ef927c5dbb0c02d55bae","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            cmd_parser \u003d cmd.get_parser(\"test_\" + resource)"},{"line_number":77,"context_line":"            parsed_args \u003d cmd_parser.parse_args(args)"},{"line_number":78,"context_line":"            cmd.run(parsed_args)"},{"line_number":79,"context_line":"            _str \u003d self.fake_stdout.make_string()"},{"line_number":80,"context_line":"            self.assertIn(\u0027network\u0027, _str)"},{"line_number":81,"context_line":"            self.assertIn(\u0027subnet\u0027, _str)"},{"line_number":82,"context_line":"            self.assertIn(\u0027port\u0027, _str)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_153291f2","line":79,"updated":"2018-03-08 00:27:27.000000000","message":"It is better to place L.79-83 out side of the \"with\" clause. mocking is stopped after existing the with clause, so it is better to be placed outside of the with clause.","commit_id":"66ba29af4765e9f85fea6694c740ac41da3d7694"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"a0d48c280b305d53fefbb75ab3305be60f08472e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            cmd_parser \u003d cmd.get_parser(\"test_\" + resource)"},{"line_number":77,"context_line":"            parsed_args \u003d cmd_parser.parse_args(args)"},{"line_number":78,"context_line":"            cmd.run(parsed_args)"},{"line_number":79,"context_line":"            _str \u003d self.fake_stdout.make_string()"},{"line_number":80,"context_line":"            self.assertIn(\u0027network\u0027, _str)"},{"line_number":81,"context_line":"            self.assertIn(\u0027subnet\u0027, _str)"},{"line_number":82,"context_line":"            self.assertIn(\u0027port\u0027, _str)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_5dc1f953","line":79,"in_reply_to":"df7087c5_153291f2","updated":"2018-03-08 19:12:11.000000000","message":"Done","commit_id":"66ba29af4765e9f85fea6694c740ac41da3d7694"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"87217eb8d2ada202d782ef927c5dbb0c02d55bae","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            self.assertIn(\u0027network\u0027, _str)"},{"line_number":81,"context_line":"            self.assertIn(\u0027subnet\u0027, _str)"},{"line_number":82,"context_line":"            self.assertIn(\u0027port\u0027, _str)"},{"line_number":83,"context_line":"            self.assertNotIn(\u0027subnetpool\u0027, _str)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_update_quota_noargs(self):"},{"line_number":86,"context_line":"        resource \u003d \u0027quota\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_5a527669","line":83,"updated":"2018-03-08 00:27:27.000000000","message":"Could you add method call verification?\n\nFor example,\n\n mock_get_client.assert_called_once_with()\n mock_httpclient.assert_called_once_with(.....)","commit_id":"66ba29af4765e9f85fea6694c740ac41da3d7694"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"a0d48c280b305d53fefbb75ab3305be60f08472e","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            self.assertIn(\u0027network\u0027, _str)"},{"line_number":81,"context_line":"            self.assertIn(\u0027subnet\u0027, _str)"},{"line_number":82,"context_line":"            self.assertIn(\u0027port\u0027, _str)"},{"line_number":83,"context_line":"            self.assertNotIn(\u0027subnetpool\u0027, _str)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_update_quota_noargs(self):"},{"line_number":86,"context_line":"        resource \u003d \u0027quota\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_1dbb81e2","line":83,"in_reply_to":"df7087c5_5a527669","updated":"2018-03-08 19:12:11.000000000","message":"Done","commit_id":"66ba29af4765e9f85fea6694c740ac41da3d7694"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"605b74c839f265f409793f595f31558526db99d1","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            cmd_parser \u003d cmd.get_parser(\"test_\" + resource)"},{"line_number":79,"context_line":"            parsed_args \u003d cmd_parser.parse_args(args)"},{"line_number":80,"context_line":"            cmd.run(parsed_args)"},{"line_number":81,"context_line":"            mock_get_client.assert_called_once_with()"},{"line_number":82,"context_line":"            mock_request.assert_called_once_with("},{"line_number":83,"context_line":"                test_cli20.end_url(path % self.test_id), \u0027GET\u0027,"},{"line_number":84,"context_line":"                body\u003dNone, headers\u003dmock.ANY)"},{"line_number":85,"context_line":"            self.assertEqual("},{"line_number":86,"context_line":"                test_cli20.TOKEN,"},{"line_number":87,"context_line":"                mock_request.call_args[1][\u0027headers\u0027][\u0027X-Auth-Token\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        _str \u003d self.fake_stdout.make_string()"},{"line_number":90,"context_line":"        self.assertIn(\u0027network\u0027, _str)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df7087c5_6a841eb2","line":87,"range":{"start_line":81,"start_character":11,"end_line":87,"end_character":69},"updated":"2018-03-09 14:25:50.000000000","message":"Could you move these out of the \"with\" clause?\nExiting \"with\" clause just means stopping mock. You can still access mock variables like \"mock_get_client\" even after exiting the \"with\" clause.","commit_id":"e3d9b49c164732dda83a7963b7bc16bf38e7c540"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"c9852153741896390250def66677241991f386b1","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            cmd_parser \u003d cmd.get_parser(\"test_\" + resource)"},{"line_number":79,"context_line":"            parsed_args \u003d cmd_parser.parse_args(args)"},{"line_number":80,"context_line":"            cmd.run(parsed_args)"},{"line_number":81,"context_line":"            mock_get_client.assert_called_once_with()"},{"line_number":82,"context_line":"            mock_request.assert_called_once_with("},{"line_number":83,"context_line":"                test_cli20.end_url(path % self.test_id), \u0027GET\u0027,"},{"line_number":84,"context_line":"                body\u003dNone, headers\u003dmock.ANY)"},{"line_number":85,"context_line":"            self.assertEqual("},{"line_number":86,"context_line":"                test_cli20.TOKEN,"},{"line_number":87,"context_line":"                mock_request.call_args[1][\u0027headers\u0027][\u0027X-Auth-Token\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        _str \u003d self.fake_stdout.make_string()"},{"line_number":90,"context_line":"        self.assertIn(\u0027network\u0027, _str)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df7087c5_32cc58bb","line":87,"range":{"start_line":81,"start_character":11,"end_line":87,"end_character":69},"in_reply_to":"df7087c5_6a841eb2","updated":"2018-03-09 21:26:10.000000000","message":"Done","commit_id":"e3d9b49c164732dda83a7963b7bc16bf38e7c540"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ae6dd051cc87440300c46348a4358c0faf8e16cd","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        mock_get_client.assert_called_once_with()"},{"line_number":83,"context_line":"        mock_request.assert_called_once_with("},{"line_number":84,"context_line":"            test_cli20.end_url(path % self.test_id), \u0027GET\u0027,"},{"line_number":85,"context_line":"            body\u003dNone, headers\u003dmock.ANY)"},{"line_number":86,"context_line":"        self.assertEqual("},{"line_number":87,"context_line":"            test_cli20.TOKEN,"},{"line_number":88,"context_line":"            mock_request.call_args[1][\u0027headers\u0027][\u0027X-Auth-Token\u0027])"},{"line_number":89,"context_line":"        _str \u003d self.fake_stdout.make_string()"},{"line_number":90,"context_line":"        self.assertIn(\u0027network\u0027, _str)"},{"line_number":91,"context_line":"        self.assertIn(\u0027subnet\u0027, _str)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_fe678750","line":88,"range":{"start_line":85,"start_character":23,"end_line":88,"end_character":65},"updated":"2018-03-10 09:33:21.000000000","message":"Looking at this patch series, this pattern is used multiple times.\nHow about defining a comparison class similar to mox.ContainsKeyValue?\n\nYou can find an example in horizon repo [1]. The point is to implement __eq__ method.\n\n[1] https://github.com/openstack/horizon/blob/cd06fe813e13cab0df16cf7aa0295c08f75da021/openstack_dashboard/test/helpers.py#L793-L805","commit_id":"415e475b873d8f906a2b183805ace626f9a0b062"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"901418bd9e15e3069f6e98669b3d9c39a93e75fb","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        mock_get_client.assert_called_once_with()"},{"line_number":83,"context_line":"        mock_request.assert_called_once_with("},{"line_number":84,"context_line":"            test_cli20.end_url(path % self.test_id), \u0027GET\u0027,"},{"line_number":85,"context_line":"            body\u003dNone, headers\u003dmock.ANY)"},{"line_number":86,"context_line":"        self.assertEqual("},{"line_number":87,"context_line":"            test_cli20.TOKEN,"},{"line_number":88,"context_line":"            mock_request.call_args[1][\u0027headers\u0027][\u0027X-Auth-Token\u0027])"},{"line_number":89,"context_line":"        _str \u003d self.fake_stdout.make_string()"},{"line_number":90,"context_line":"        self.assertIn(\u0027network\u0027, _str)"},{"line_number":91,"context_line":"        self.assertIn(\u0027subnet\u0027, _str)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_cab5f8ce","line":88,"range":{"start_line":85,"start_character":23,"end_line":88,"end_character":65},"in_reply_to":"df7087c5_7eca971a","updated":"2018-03-12 19:04:58.000000000","message":"Cool. Thanks for the advice.","commit_id":"415e475b873d8f906a2b183805ace626f9a0b062"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9212444ed6b212855f0bfd22a1aec6761cc92f22","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        mock_get_client.assert_called_once_with()"},{"line_number":83,"context_line":"        mock_request.assert_called_once_with("},{"line_number":84,"context_line":"            test_cli20.end_url(path % self.test_id), \u0027GET\u0027,"},{"line_number":85,"context_line":"            body\u003dNone, headers\u003dmock.ANY)"},{"line_number":86,"context_line":"        self.assertEqual("},{"line_number":87,"context_line":"            test_cli20.TOKEN,"},{"line_number":88,"context_line":"            mock_request.call_args[1][\u0027headers\u0027][\u0027X-Auth-Token\u0027])"},{"line_number":89,"context_line":"        _str \u003d self.fake_stdout.make_string()"},{"line_number":90,"context_line":"        self.assertIn(\u0027network\u0027, _str)"},{"line_number":91,"context_line":"        self.assertIn(\u0027subnet\u0027, _str)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_7eca971a","line":88,"range":{"start_line":85,"start_character":23,"end_line":88,"end_character":65},"in_reply_to":"df7087c5_fe678750","updated":"2018-03-10 09:39:38.000000000","message":"This is what in my mind.\n\nhttp://paste.openstack.org/show/697696/","commit_id":"415e475b873d8f906a2b183805ace626f9a0b062"}]}
