)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"574d5a06bdf5d2db33329e9e119162d2ee6303f5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Ironic client lacks unit test for shell. These unit tests have been"},{"line_number":10,"context_line":"added in this patch"},{"line_number":11,"context_line":"Change-Id: I29686ed355baae6fc9c6ad4122688c14601f2398"},{"line_number":12,"context_line":"Closes-Bug: #1235431"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3acd31a7_96fc4f73","line":11,"updated":"2015-05-05 14:20:39.000000000","message":"We typically add a blank space between the description and these tags at the end, although I don\u0027t see anything that explicitly mentions that [1]. Otherwise it makes it harder to read.\n\n[1] https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"c621b09ceea4a24e8fae1b221b50fb8a68b0cbe1"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"574d5a06bdf5d2db33329e9e119162d2ee6303f5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Ironic client lacks unit test for shell. These unit tests have been"},{"line_number":10,"context_line":"added in this patch"},{"line_number":11,"context_line":"Change-Id: I29686ed355baae6fc9c6ad4122688c14601f2398"},{"line_number":12,"context_line":"Closes-Bug: #1235431"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3acd31a7_16483fcb","line":12,"updated":"2015-05-05 14:20:39.000000000","message":"Again, I don\u0027t think this addresses that bug. That bug was for adding tests of the CLI, not the methods that the shell invokes.","commit_id":"c621b09ceea4a24e8fae1b221b50fb8a68b0cbe1"}],"ironicclient/tests/unit/v1/test_chassis_shell.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7827ad137a354112bec2fb28a8caae359f8c470a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        c_shell.do_chassis_update(client_mock, args)"},{"line_number":68,"context_line":"        patch \u003d commonutils.args_array_to_patch(args.op, args.attributes[0])"},{"line_number":69,"context_line":"        client_mock.chassis.update.assert_called_once_with(\u0027chassis_uuid\u0027,"},{"line_number":70,"context_line":"                                                           patch)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_44e99be5","line":70,"updated":"2015-04-14 20:37:26.000000000","message":"Why did you add these tests? What about .do_chassis_show(), .do_chassis_list(), .do_chassis_node_list()?","commit_id":"cdb48e0c8c1490881509985027cf9428b7f25210"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"574d5a06bdf5d2db33329e9e119162d2ee6303f5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        client_mock \u003d mock.MagicMock()\t"},{"line_number":74,"context_line":"        args \u003d mock.MagicMock()\t"},{"line_number":75,"context_line":"        args.chassis \u003d \u0027chassis_uuid\u0027"},{"line_number":76,"context_line":"\targs.op \u003d \u0027add\u0027\t"},{"line_number":77,"context_line":"        args.attributes \u003d [[\u0027arg1\u003dval1\u0027, \u0027arg2\u003dval2\u0027]]"},{"line_number":78,"context_line":"        c_shell.do_chassis_update(client_mock, args)"},{"line_number":79,"context_line":"        patch \u003d commonutils.args_array_to_patch(args.op, args.attributes[0])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_36545b51","line":76,"updated":"2015-05-05 14:20:39.000000000","message":"Oh. We don\u0027t add tabs in our files. Please replace with blank spaces. Also, we don\u0027t add any blank spaces/tabs at the end of lines. Jenkins won\u0027t like this.","commit_id":"c621b09ceea4a24e8fae1b221b50fb8a68b0cbe1"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"14382b19c846dd0b11b0007107e618044374e631","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def _get_client_mock_args(self, chassis\u003dNone, marker\u003dNone, limit\u003dNone,"},{"line_number":26,"context_line":"                              sort_dir\u003dNone, sort_key\u003dNone, detail\u003dFalse,"},{"line_number":27,"context_line":"                              fields\u003dNone):"},{"line_number":28,"context_line":"        args \u003d mock.MagicMock(spec\u003dTrue)"},{"line_number":29,"context_line":"        args.chassis \u003d chassis"},{"line_number":30,"context_line":"        args.marker \u003d marker"},{"line_number":31,"context_line":"        args.limit \u003d limit"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_33060121","line":28,"updated":"2015-08-11 02:29:14.000000000","message":"I believe that \u0027spec\u003dTrue\u0027 doesn\u0027t have any effect in this case.\nI\u0027m just wondering why  \u0027spec\u003dTrue\u0027 is put only here.\nDo you have any particular reason?\n\nIf we need to do so due to some reason, wouldn\u0027t it be better to do in other places as well for the integrity?\nIf we didn\u0027t have any particular reason, we could simply remove \u0027spec\u003dTrue\u0027, I believe.","commit_id":"fdcfc6050c8ea3acfa5e2b9484fbde71a7ced9bd"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"ff4962279f4ec27a186336bc424de6772bc60ffc","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def _get_client_mock_args(self, chassis\u003dNone, marker\u003dNone, limit\u003dNone,"},{"line_number":26,"context_line":"                              sort_dir\u003dNone, sort_key\u003dNone, detail\u003dFalse,"},{"line_number":27,"context_line":"                              fields\u003dNone):"},{"line_number":28,"context_line":"        args \u003d mock.MagicMock(spec\u003dTrue)"},{"line_number":29,"context_line":"        args.chassis \u003d chassis"},{"line_number":30,"context_line":"        args.marker \u003d marker"},{"line_number":31,"context_line":"        args.limit \u003d limit"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_3921f6b4","line":28,"in_reply_to":"1a4dcd0f_33060121","updated":"2015-08-11 07:42:36.000000000","message":"Yeah, but this was already there before the patch, and probably it\u0027s better if we just do it in a separate patch.  I think we should do through ironicclient to use autospec\u003dTrue.","commit_id":"fdcfc6050c8ea3acfa5e2b9484fbde71a7ced9bd"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"b5ae27b71f0014d274195c4a39fa6f2c8843bcef","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def _get_client_mock_args(self, chassis\u003dNone, marker\u003dNone, limit\u003dNone,"},{"line_number":26,"context_line":"                              sort_dir\u003dNone, sort_key\u003dNone, detail\u003dFalse,"},{"line_number":27,"context_line":"                              fields\u003dNone):"},{"line_number":28,"context_line":"        args \u003d mock.MagicMock(spec\u003dTrue)"},{"line_number":29,"context_line":"        args.chassis \u003d chassis"},{"line_number":30,"context_line":"        args.marker \u003d marker"},{"line_number":31,"context_line":"        args.limit \u003d limit"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_aa74c69b","line":28,"in_reply_to":"1a4dcd0f_3921f6b4","updated":"2015-08-11 08:34:17.000000000","message":"Oops, sorry, I looked at the diff between #6 and #7 which gave me an impression that it was newly added, because \u0027spec\u003dTrue\u0027 is highlighted [1].\n\n[1] https://review.openstack.org/#/c/172371/6..7/ironicclient/tests/unit/v1/test_chassis_shell.py","commit_id":"fdcfc6050c8ea3acfa5e2b9484fbde71a7ced9bd"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"ff4962279f4ec27a186336bc424de6772bc60ffc","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def test_do_chassis_create(self):"},{"line_number":185,"context_line":"        client_mock \u003d mock.MagicMock()"},{"line_number":186,"context_line":"        args \u003d mock.MagicMock()"},{"line_number":187,"context_line":"        c_shell.do_chassis_create(client_mock, args)"},{"line_number":188,"context_line":"        client_mock.chassis.create.assert_called_once_with()"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a4dcd0f_99c7ea11","line":186,"updated":"2015-08-11 07:42:36.000000000","message":"Can we test if args is used properly in do_chassis_create(). Something like \n\n  client_mock \u003d mock.MagicMock()\n  args \u003d {\u0027extra\u0027: \u0027foo\u0027}\n  c_shell.do_chassis_create(client_mock, args)\n  client_mock.chassis.create.assert_called_once_with(args)","commit_id":"fdcfc6050c8ea3acfa5e2b9484fbde71a7ced9bd"}],"ironicclient/tests/unit/v1/test_port_shell.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7827ad137a354112bec2fb28a8caae359f8c470a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        args \u003d mock.MagicMock()"},{"line_number":74,"context_line":"        args.port \u003d [\u0027port_uuid\u0027]"},{"line_number":75,"context_line":"        p_shell.do_port_delete(client_mock, args)"},{"line_number":76,"context_line":"        client_mock.port.delete.assert_called_once_with(\u0027port_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_04ca736d","line":76,"updated":"2015-04-14 20:37:26.000000000","message":"there are other methods in port_shell. Why add this test only?","commit_id":"cdb48e0c8c1490881509985027cf9428b7f25210"}]}
