)]}'
{"novaclient/tests/v1_1/test_shell.py":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"9395e6b6c85be3f93656075788a8c67b8069bee4","unresolved":false,"context_lines":[{"line_number":1826,"context_line":"            \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,"},{"line_number":1827,"context_line":"        })"},{"line_number":1828,"context_line":"        result \u003d novaclient.v1_1.shell._get_secgroup("},{"line_number":1829,"context_line":"            cs, \u0027c0c32459-dc5f-44dc-9a0a-473b28bac831\u0027)"},{"line_number":1830,"context_line":"        self.assertEqual(result, \u0027sec_group\u0027)"},{"line_number":1831,"context_line":"        cs.security_groups.get.assert_called_once_with("},{"line_number":1832,"context_line":"            \u0027c0c32459-dc5f-44dc-9a0a-473b28bac831\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FXyY%3D","line":1829,"updated":"2013-11-08 01:54:12.000000000","message":"Kevin, looks like our code is not compatible with python33, we can find following error message as below:\n\n\n2013-11-07 08:28:57.400 | \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n2013-11-07 08:28:57.400 | FAIL: novaclient.tests.v1_1.test_shell.GetSecgroupTest.test_with_uuid\n2013-11-07 08:28:57.400 | tags: worker-2\n2013-11-07 08:28:57.400 | ----------------------------------------------------------------------\n2013-11-07 08:28:57.401 | Empty attachments:\n2013-11-07 08:28:57.401 |   stderr\n2013-11-07 08:28:57.401 |   stdout\n2013-11-07 08:28:57.401 | \n2013-11-07 08:28:57.401 | Traceback (most recent call last):\n2013-11-07 08:28:57.401 |   File \"/home/jenkins/workspace/gate-python-novaclient-python33/novaclient/tests/v1_1/test_shell.py\", line 1829, in test_with_uuid\n2013-11-07 08:28:57.401 |     cs.return_value, \u0027c0c32459-dc5f-44dc-9a0a-473b28bac831\u0027)\n2013-11-07 08:28:57.402 |   File \"/home/jenkins/workspace/gate-python-novaclient-python33/novaclient/v1_1/shell.py\", line 2112, in _get_secgroup\n2013-11-07 08:28:57.402 |     for s in cs.security_groups.list():\n2013-11-07 08:28:57.402 | TypeError: \u0027Mock\u0027 object is not iterable\n2013-11-07 08:28:57.402 | \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n2013-11-07 08:28:57.402 | FAIL: process-returncode\n\n\n\nI try to modify code to work with python33, but still not working, do you have any comments about such \"\u0027Mock\u0027 object is not iterable\" issue? Need your supporting here, thank you.","commit_id":"017cd73525cc5a2f74242a981ea55bb94942de9e"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"641997e8d6bbf364f652de1973fa3522b80c4fef","unresolved":false,"context_lines":[{"line_number":1826,"context_line":"            \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,"},{"line_number":1827,"context_line":"        })"},{"line_number":1828,"context_line":"        result \u003d novaclient.v1_1.shell._get_secgroup("},{"line_number":1829,"context_line":"            cs, \u0027c0c32459-dc5f-44dc-9a0a-473b28bac831\u0027)"},{"line_number":1830,"context_line":"        self.assertEqual(result, \u0027sec_group\u0027)"},{"line_number":1831,"context_line":"        cs.security_groups.get.assert_called_once_with("},{"line_number":1832,"context_line":"            \u0027c0c32459-dc5f-44dc-9a0a-473b28bac831\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FV2I%3D","line":1829,"in_reply_to":"AAAATn%2F%2FWI0%3D","updated":"2013-11-08 23:34:49.000000000","message":"Got it, will debug this issue, thanks Kevin.","commit_id":"017cd73525cc5a2f74242a981ea55bb94942de9e"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"51618655b728f51d8fcbc5f2934177d57e3372e7","unresolved":false,"context_lines":[{"line_number":1826,"context_line":"            \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,"},{"line_number":1827,"context_line":"        })"},{"line_number":1828,"context_line":"        result \u003d novaclient.v1_1.shell._get_secgroup("},{"line_number":1829,"context_line":"            cs, \u0027c0c32459-dc5f-44dc-9a0a-473b28bac831\u0027)"},{"line_number":1830,"context_line":"        self.assertEqual(result, \u0027sec_group\u0027)"},{"line_number":1831,"context_line":"        cs.security_groups.get.assert_called_once_with("},{"line_number":1832,"context_line":"            \u0027c0c32459-dc5f-44dc-9a0a-473b28bac831\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FWI0%3D","line":1829,"in_reply_to":"AAAATn%2F%2FXyY%3D","updated":"2013-11-08 17:39:53.000000000","message":"The problem is not the \"\u0027Mock\u0027 object is not iterable\", as I stated before; you would get this error in Python 2.7 if uuidutils.is_uuid_like() decided that the UUID was not UUID-like.  The fact that you get this error in Python 3.3 indicates that the bug is most likely in uuidutils.is_uuid_like() failing to recognize the UUID we\u0027re passing in.  That\u0027s what we need to debug.","commit_id":"017cd73525cc5a2f74242a981ea55bb94942de9e"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"dd9574c25a0214685a767b702d4c1d2831f7520a","unresolved":false,"context_lines":[{"line_number":1816,"context_line":"    def test_with_integer(self):"},{"line_number":1817,"context_line":"        cs \u003d mock.Mock(**{"},{"line_number":1818,"context_line":"            \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,"},{"line_number":1819,"context_line":"            \u0027security_groups.list.return_value\u0027: {}"},{"line_number":1820,"context_line":"        })"},{"line_number":1821,"context_line":"        result \u003d novaclient.v1_1.shell._get_secgroup(cs, \u00271\u0027)"},{"line_number":1822,"context_line":"        self.assertEqual(result, \u0027sec_group\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FScY%3D","line":1819,"updated":"2013-11-11 16:33:37.000000000","message":"I have some nits here:\n\n1. list() returns a list, not a dictionary;\n\n2. I prefer there to be trailing commas on all elements (femtonit)\n\nWith these nits applied, this would look like:\n\n    cs \u003d mock.Mock(**{\n        \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,\n        \u0027security_groups.list.return_value\u0027: [],\n    })","commit_id":"c6f8a72cc5a5610fdc27174cc3431646df7c0af7"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"b1bd01e063b236d72517affee2c4a5502bd65384","unresolved":false,"context_lines":[{"line_number":1816,"context_line":"    def test_with_integer(self):"},{"line_number":1817,"context_line":"        cs \u003d mock.Mock(**{"},{"line_number":1818,"context_line":"            \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,"},{"line_number":1819,"context_line":"            \u0027security_groups.list.return_value\u0027: {}"},{"line_number":1820,"context_line":"        })"},{"line_number":1821,"context_line":"        result \u003d novaclient.v1_1.shell._get_secgroup(cs, \u00271\u0027)"},{"line_number":1822,"context_line":"        self.assertEqual(result, \u0027sec_group\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FRDw%3D","line":1819,"in_reply_to":"AAAATn%2F%2FScY%3D","updated":"2013-11-12 01:42:01.000000000","message":"Kevin, OK, will fix, thank for your good comments.","commit_id":"c6f8a72cc5a5610fdc27174cc3431646df7c0af7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1d0ddcb93b7066c9ceb9d71171dac2e9658cfbb0","unresolved":false,"context_lines":[{"line_number":1812,"context_line":"                           \u0027\u0026status\u003dfinished\u0027)"},{"line_number":1813,"context_line":""},{"line_number":1814,"context_line":""},{"line_number":1815,"context_line":"class GetSecgroupTest(utils.TestCase):"},{"line_number":1816,"context_line":"    def test_with_integer(self):"},{"line_number":1817,"context_line":"        cs \u003d mock.Mock(**{"},{"line_number":1818,"context_line":"            \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FQ7k%3D","line":1815,"updated":"2013-11-12 02:44:26.000000000","message":"Are these the only tests for _get_secgroup? If so, would be good to have some negative tests too for invalid values.","commit_id":"47c29c4ee917aa223be820c037967117f6d80a38"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"a31048c888fc5dfef82630c8b0c88705a42269c3","unresolved":false,"context_lines":[{"line_number":1812,"context_line":"                           \u0027\u0026status\u003dfinished\u0027)"},{"line_number":1813,"context_line":""},{"line_number":1814,"context_line":""},{"line_number":1815,"context_line":"class GetSecgroupTest(utils.TestCase):"},{"line_number":1816,"context_line":"    def test_with_integer(self):"},{"line_number":1817,"context_line":"        cs \u003d mock.Mock(**{"},{"line_number":1818,"context_line":"            \u0027security_groups.get.return_value\u0027: \u0027sec_group\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FQ10%3D","line":1815,"in_reply_to":"AAAATn%2F%2FQ7k%3D","updated":"2013-11-12 03:17:39.000000000","message":"Matt, yes, this is testing  _get_secgroup  method change, will add more case to test the invalid values. But this method will handle not only for ID and UUID but also including the \u0027name\u0027, so we just test some case to pass invalid UUID, as current existing code logic, it will be handled as \u0027name\u0027, so will raise notfound exception, we will cover this case.","commit_id":"47c29c4ee917aa223be820c037967117f6d80a38"}],"novaclient/v1_1/shell.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1d0ddcb93b7066c9ceb9d71171dac2e9658cfbb0","unresolved":false,"context_lines":[{"line_number":2099,"context_line":""},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"def _get_secgroup(cs, secgroup):"},{"line_number":2102,"context_line":"    # Check secgroup is an ID"},{"line_number":2103,"context_line":"    if (utils.is_integer_like(strutils.safe_encode(secgroup))"},{"line_number":2104,"context_line":"               or uuidutils.is_uuid_like(secgroup)):"},{"line_number":2105,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FQ8k%3D","line":2102,"updated":"2013-11-12 02:44:26.000000000","message":"I would change this to: # Check secgroup is an ID (nova-network) or UUID (neutron)","commit_id":"47c29c4ee917aa223be820c037967117f6d80a38"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"a31048c888fc5dfef82630c8b0c88705a42269c3","unresolved":false,"context_lines":[{"line_number":2099,"context_line":""},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"def _get_secgroup(cs, secgroup):"},{"line_number":2102,"context_line":"    # Check secgroup is an ID"},{"line_number":2103,"context_line":"    if (utils.is_integer_like(strutils.safe_encode(secgroup))"},{"line_number":2104,"context_line":"               or uuidutils.is_uuid_like(secgroup)):"},{"line_number":2105,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FQ2U%3D","line":2102,"in_reply_to":"AAAATn%2F%2FQ8k%3D","updated":"2013-11-12 03:17:39.000000000","message":"Matt, ok, will change the comments","commit_id":"47c29c4ee917aa223be820c037967117f6d80a38"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"288494c2da23c29202b72304a652f333f7200b40","unresolved":false,"context_lines":[{"line_number":2099,"context_line":""},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"def _get_secgroup(cs, secgroup):"},{"line_number":2102,"context_line":"    #  # Check secgroup is an ID (nova-network) or UUID (neutron)"},{"line_number":2103,"context_line":"    if (utils.is_integer_like(strutils.safe_encode(secgroup))"},{"line_number":2104,"context_line":"               or uuidutils.is_uuid_like(secgroup)):"},{"line_number":2105,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2FO88%3D","line":2102,"updated":"2013-11-12 14:24:50.000000000","message":"Sorry, I didn\u0027t mean you needed to comment within the comment, so remove the additional # here.","commit_id":"2e701cea9355637ef45b4308aea41e3ed3793563"}]}
