)]}'
{"tempest/api/compute/security_groups/test_security_groups.py":[{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"fd246bc43e5480603406d9d8674ebf74516a7d6c","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        resp, securitygroup \u003d \\"},{"line_number":170,"context_line":"            self.client.create_security_group(s_name, s_description)"},{"line_number":171,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":172,"context_line":"        self.assertIn(\u0027id\u0027, securitygroup)"},{"line_number":173,"context_line":"        securitygroup_id \u003d securitygroup[\u0027id\u0027]"},{"line_number":174,"context_line":"        self.addCleanup(self._delete_security_group,"},{"line_number":175,"context_line":"                        securitygroup_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAT3%2F%2F6DU%3D","line":172,"updated":"2013-12-27 12:05:40.000000000","message":"Are you sure, that we need the check here (that \u0027id\u0027 is in \u0027securitygroup\u0027)?\nIf \u0027id\u0027 is not contained in the \u0027securitygroup\u0027 in the next line the similar error will occur.","commit_id":"79c0546f26bb9d338092b542486fd9a657b3aca8"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"0333303e2905e98490ac8911ac1320087262d644","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        resp, securitygroup \u003d \\"},{"line_number":170,"context_line":"            self.client.create_security_group(s_name, s_description)"},{"line_number":171,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":172,"context_line":"        self.assertIn(\u0027id\u0027, securitygroup)"},{"line_number":173,"context_line":"        securitygroup_id \u003d securitygroup[\u0027id\u0027]"},{"line_number":174,"context_line":"        self.addCleanup(self._delete_security_group,"},{"line_number":175,"context_line":"                        securitygroup_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAT3%2F%2F5Yo%3D","line":172,"in_reply_to":"AAAAT3%2F%2F5hc%3D","updated":"2013-12-27 16:04:29.000000000","message":"Okay :)","commit_id":"79c0546f26bb9d338092b542486fd9a657b3aca8"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"69a11843161e19650f42dcce07cc665eceb48d70","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        resp, securitygroup \u003d \\"},{"line_number":170,"context_line":"            self.client.create_security_group(s_name, s_description)"},{"line_number":171,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":172,"context_line":"        self.assertIn(\u0027id\u0027, securitygroup)"},{"line_number":173,"context_line":"        securitygroup_id \u003d securitygroup[\u0027id\u0027]"},{"line_number":174,"context_line":"        self.addCleanup(self._delete_security_group,"},{"line_number":175,"context_line":"                        securitygroup_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAT3%2F%2F5hc%3D","line":172,"in_reply_to":"AAAAT3%2F%2F6DU%3D","updated":"2013-12-27 15:08:56.000000000","message":"I don\u0027t think so. Just as we get an attribute from a dict, we always check whether the attribute in the dict first.","commit_id":"79c0546f26bb9d338092b542486fd9a657b3aca8"}],"tempest/api/compute/security_groups/test_security_groups_negative.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"2c8ff11caf5a82d0eeb77dd94b2c52cff1b7745b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from tempest.common.utils import data_utils"},{"line_number":23,"context_line":"from tempest import config"},{"line_number":24,"context_line":"from tempest import exceptions"},{"line_number":25,"context_line":"from tempest.test import attr"},{"line_number":26,"context_line":"from tempest.test import skip_because"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F85Ko%3D","line":25,"updated":"2013-12-19 03:42:27.000000000","message":"from tempest import test\n\nyou are cleaning the test_security_groups.py , so if you can do this will be better.","commit_id":"51f0fc009dde8bd144ace4019bbfddf196e89cbf"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"c31817a8f5d0ca835b791df412f46003d9bd042a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from tempest.common.utils import data_utils"},{"line_number":23,"context_line":"from tempest import config"},{"line_number":24,"context_line":"from tempest import exceptions"},{"line_number":25,"context_line":"from tempest.test import attr"},{"line_number":26,"context_line":"from tempest.test import skip_because"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F85IU%3D","line":25,"in_reply_to":"AAAATn%2F85Ko%3D","updated":"2013-12-19 03:57:34.000000000","message":"Done.","commit_id":"51f0fc009dde8bd144ace4019bbfddf196e89cbf"},{"author":{"_account_id":8625,"name":"Anju Tiwari","username":"Anju5","inactive":true},"change_message_id":"ebcc7c912bfba952ab011928c85a891725c4ee13","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        resp, body \u003d self.client.list_security_groups()"},{"line_number":213,"context_line":"        for i in range(len(body)):"},{"line_number":214,"context_line":"            security_group_id.append(body[i][\u0027id\u0027])"},{"line_number":215,"context_line":"        # Creating non-existent Security Group"},{"line_number":216,"context_line":"        while True:"},{"line_number":217,"context_line":"            non_exist_id \u003d data_utils.rand_int_id(start\u003d999)"},{"line_number":218,"context_line":"            if non_exist_id not in security_group_id:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F84u0%3D","line":215,"updated":"2013-12-19 06:33:28.000000000","message":"where are you creating any security group here ?","commit_id":"3b9ed157dfa26c43a2fee9c659469c52fee56400"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0fd62cfca1e0459afe657d82d7b6daeb1b3f2b09","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        while True:"},{"line_number":51,"context_line":"            non_exist_id \u003d data_utils.rand_int_id(start\u003d999)"},{"line_number":52,"context_line":"            if self.neutron_available:"},{"line_number":53,"context_line":"                non_exist_id \u003d str(uuid.uuid4())"},{"line_number":54,"context_line":"            if non_exist_id not in security_group_id:"},{"line_number":55,"context_line":"                break"},{"line_number":56,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.get_security_group,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F83WA%3D","line":53,"updated":"2013-12-19 13:02:41.000000000","message":"we can use data_utils.rand_uuid() instead of str(uuid.uuid4()).\nif doing it, we can remove \"import uuid\" also.","commit_id":"1074fb249865e2b593a0ea74d728cb0afe2a9dab"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0fd62cfca1e0459afe657d82d7b6daeb1b3f2b09","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        while True:"},{"line_number":142,"context_line":"            non_exist_id \u003d data_utils.rand_int_id(start\u003d999)"},{"line_number":143,"context_line":"            if self.neutron_available:"},{"line_number":144,"context_line":"                non_exist_id \u003d str(uuid.uuid4())"},{"line_number":145,"context_line":"            if non_exist_id not in security_group_id:"},{"line_number":146,"context_line":"                break"},{"line_number":147,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F83V8%3D","line":144,"updated":"2013-12-19 13:02:41.000000000","message":"ditto","commit_id":"1074fb249865e2b593a0ea74d728cb0afe2a9dab"},{"author":{"_account_id":8625,"name":"Anju Tiwari","username":"Anju5","inactive":true},"change_message_id":"40029af0a1343f5f1200bc68a5e9d26de84b262c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":41,"context_line":"    def test_security_group_get_nonexistant_group(self):"},{"line_number":42,"context_line":"        # Negative test:Should not be able to GET the details"},{"line_number":43,"context_line":"        # of non-existent Security Group"},{"line_number":44,"context_line":"        security_group_id \u003d []"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F8oKg%3D","line":41,"updated":"2013-12-24 04:22:44.000000000","message":"A typo error existant -\u003e existent","commit_id":"755f55a7c107770b4b4ed4a2ff3f96abdb7717fb"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"0ce39825cd72e96f667b57cf02b450bd29639003","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":41,"context_line":"    def test_security_group_get_nonexistant_group(self):"},{"line_number":42,"context_line":"        # Negative test:Should not be able to GET the details"},{"line_number":43,"context_line":"        # of non-existent Security Group"},{"line_number":44,"context_line":"        security_group_id \u003d []"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F8n3E%3D","line":41,"in_reply_to":"AAAATn%2F8oKg%3D","updated":"2013-12-24 06:44:28.000000000","message":"Done.\nThanks very much.","commit_id":"755f55a7c107770b4b4ed4a2ff3f96abdb7717fb"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"50e3bc3db288dd52fadb61af4b132383b58de0a0","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        while True:"},{"line_number":218,"context_line":"            non_exist_id \u003d data_utils.rand_int_id(start\u003d999)"},{"line_number":219,"context_line":"            if non_exist_id not in security_group_id:"},{"line_number":220,"context_line":"                break"},{"line_number":221,"context_line":"        s_name \u003d data_utils.rand_name(\u0027sg-\u0027)"},{"line_number":222,"context_line":"        s_description \u003d data_utils.rand_name(\u0027description-\u0027)"},{"line_number":223,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F9gQ%3D","line":220,"updated":"2013-12-26 09:08:22.000000000","message":"please refer to line 140~145 for getting a nonexistent secgroup id. It\u0027s better to create a helper function to do it if you would like to.","commit_id":"6283a25c9064ad305ed33298b54be3a5c4c1d171"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"5be034df062ee337d8aa1c090600dffe8f3f4d5e","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        while True:"},{"line_number":218,"context_line":"            non_exist_id \u003d data_utils.rand_int_id(start\u003d999)"},{"line_number":219,"context_line":"            if non_exist_id not in security_group_id:"},{"line_number":220,"context_line":"                break"},{"line_number":221,"context_line":"        s_name \u003d data_utils.rand_name(\u0027sg-\u0027)"},{"line_number":222,"context_line":"        s_description \u003d data_utils.rand_name(\u0027description-\u0027)"},{"line_number":223,"context_line":"        self.assertRaises(exceptions.NotFound,"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F9c4%3D","line":220,"in_reply_to":"AAAAT3%2F%2F9gQ%3D","updated":"2013-12-26 09:25:11.000000000","message":"Thanks.\nDone.","commit_id":"6283a25c9064ad305ed33298b54be3a5c4c1d171"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"46a6a2453929f9495353e247f73740ea020de027","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            if self.neutron_available:"},{"line_number":147,"context_line":"                non_exist_id \u003d data_utils.rand_uuid()"},{"line_number":148,"context_line":"            if non_exist_id not in security_group_id:"},{"line_number":149,"context_line":"                break"},{"line_number":150,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":151,"context_line":"                          self.client.delete_security_group, non_exist_id)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAT3%2F%2F6hQ%3D","line":149,"updated":"2013-12-27 08:42:28.000000000","message":"here could use _generate_a_non_existent_security_group_id","commit_id":"1533546404d3ee2f7afd5f37246658be97cdc434"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e1f8ca263202f8bd99082b555caa13d8bb6b7b9e","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                          description\u003ds_description)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"class SecurityGroupsTestXML(SecurityGroupsNegativeTestJSON):"},{"line_number":216,"context_line":"    _interface \u003d \u0027xml\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAT3%2F%2FyIU%3D","line":215,"updated":"2013-12-31 19:39:34.000000000","message":"s/SecurityGroupsTestXML/SecurityGroupsNegativeTestXML/","commit_id":"79c0546f26bb9d338092b542486fd9a657b3aca8"}],"tempest/services/compute/json/security_groups_client.py":[{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"50e3bc3db288dd52fadb61af4b132383b58de0a0","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        \"\"\""},{"line_number":69,"context_line":"        Update a security group."},{"line_number":70,"context_line":"        security_group_id: a security_group to update"},{"line_number":71,"context_line":"        name: new name of security group you"},{"line_number":72,"context_line":"        description: new description of security group"},{"line_number":73,"context_line":"        \"\"\""},{"line_number":74,"context_line":"        post_body \u003d {}"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F9f0%3D","line":71,"updated":"2013-12-26 09:08:22.000000000","message":"typo? \"you\"","commit_id":"6283a25c9064ad305ed33298b54be3a5c4c1d171"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"5be034df062ee337d8aa1c090600dffe8f3f4d5e","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        \"\"\""},{"line_number":69,"context_line":"        Update a security group."},{"line_number":70,"context_line":"        security_group_id: a security_group to update"},{"line_number":71,"context_line":"        name: new name of security group you"},{"line_number":72,"context_line":"        description: new description of security group"},{"line_number":73,"context_line":"        \"\"\""},{"line_number":74,"context_line":"        post_body \u003d {}"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F9cs%3D","line":71,"in_reply_to":"AAAAT3%2F%2F9f0%3D","updated":"2013-12-26 09:25:11.000000000","message":"Done.","commit_id":"6283a25c9064ad305ed33298b54be3a5c4c1d171"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"fd246bc43e5480603406d9d8674ebf74516a7d6c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        if name:"},{"line_number":76,"context_line":"            post_body[\u0027name\u0027] \u003d name"},{"line_number":77,"context_line":"        if description:"},{"line_number":78,"context_line":"            post_body[\u0027description\u0027] \u003d description"},{"line_number":79,"context_line":"        post_body \u003d json.dumps({\u0027security_group\u0027: post_body})"},{"line_number":80,"context_line":"        resp, body \u003d self.put(\u0027os-security-groups/%s\u0027 % str(security_group_id),"},{"line_number":81,"context_line":"                              post_body, self.headers)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAT3%2F%2F6FA%3D","line":78,"updated":"2013-12-27 12:05:40.000000000","message":"I suggest replacing 2 \"if\" statements as follows:\nDelete parameters \u0027name\u0027 and \u0027description\u0027 in method and add **kwargs.\nDelete \u0027if\u0027 statements.\nAdd cycle:\nfor key in kwargs.keys():\n    post_body[key] \u003d kwargs[key]","commit_id":"79c0546f26bb9d338092b542486fd9a657b3aca8"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"0333303e2905e98490ac8911ac1320087262d644","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        if name:"},{"line_number":76,"context_line":"            post_body[\u0027name\u0027] \u003d name"},{"line_number":77,"context_line":"        if description:"},{"line_number":78,"context_line":"            post_body[\u0027description\u0027] \u003d description"},{"line_number":79,"context_line":"        post_body \u003d json.dumps({\u0027security_group\u0027: post_body})"},{"line_number":80,"context_line":"        resp, body \u003d self.put(\u0027os-security-groups/%s\u0027 % str(security_group_id),"},{"line_number":81,"context_line":"                              post_body, self.headers)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAT3%2F%2F5Ys%3D","line":78,"in_reply_to":"AAAAT3%2F%2F5gg%3D","updated":"2013-12-27 16:04:29.000000000","message":"Okay :)","commit_id":"79c0546f26bb9d338092b542486fd9a657b3aca8"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"69a11843161e19650f42dcce07cc665eceb48d70","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        if name:"},{"line_number":76,"context_line":"            post_body[\u0027name\u0027] \u003d name"},{"line_number":77,"context_line":"        if description:"},{"line_number":78,"context_line":"            post_body[\u0027description\u0027] \u003d description"},{"line_number":79,"context_line":"        post_body \u003d json.dumps({\u0027security_group\u0027: post_body})"},{"line_number":80,"context_line":"        resp, body \u003d self.put(\u0027os-security-groups/%s\u0027 % str(security_group_id),"},{"line_number":81,"context_line":"                              post_body, self.headers)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAT3%2F%2F5gg%3D","line":78,"in_reply_to":"AAAAT3%2F%2F6FA%3D","updated":"2013-12-27 15:08:56.000000000","message":"I don\u0027t think so. If the values are None, we should not put them to post body.","commit_id":"79c0546f26bb9d338092b542486fd9a657b3aca8"}],"tempest/services/compute/xml/security_groups_client.py":[{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"50e3bc3db288dd52fadb61af4b132383b58de0a0","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        Update a security group."},{"line_number":86,"context_line":"        security_group_id: a security_group to update"},{"line_number":87,"context_line":"        name: new name of security group you"},{"line_number":88,"context_line":"        description: new description of security group"},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        security_group \u003d Element(\"security_group\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F9fw%3D","line":87,"updated":"2013-12-26 09:08:22.000000000","message":"typo? \"you\"","commit_id":"6283a25c9064ad305ed33298b54be3a5c4c1d171"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"5be034df062ee337d8aa1c090600dffe8f3f4d5e","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        Update a security group."},{"line_number":86,"context_line":"        security_group_id: a security_group to update"},{"line_number":87,"context_line":"        name: new name of security group you"},{"line_number":88,"context_line":"        description: new description of security group"},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        security_group \u003d Element(\"security_group\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAT3%2F%2F9co%3D","line":87,"in_reply_to":"AAAAT3%2F%2F9fw%3D","updated":"2013-12-26 09:25:11.000000000","message":"Done.","commit_id":"6283a25c9064ad305ed33298b54be3a5c4c1d171"}]}
