)]}'
{"tempest/tests/compute/security_groups/test_security_group_rules.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"5e8739f3d2f4af74273041e7814c12bc04485eb1","unresolved":false,"context_lines":[{"line_number":250,"context_line":"            resp, rule \u003d \\"},{"line_number":251,"context_line":"            self.client.create_security_group_rule(securitygroup_id,"},{"line_number":252,"context_line":"                                                   ip_protocol1,"},{"line_number":253,"context_line":"                                                   from_port1, to_port1)"},{"line_number":254,"context_line":"            rule1_id \u003d rule[\u0027id\u0027]"},{"line_number":255,"context_line":"            ip_protocol2 \u003d \u0027icmp\u0027"},{"line_number":256,"context_line":"            from_port2 \u003d -1"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAN3%2F%2F5Ik%3D","line":253,"updated":"2013-03-07 11:53:39.000000000","message":"You should use: \nhttp://docs.python.org/2/library/unittest.html#unittest.TestCase.addCleanup here instead of the finally block.","commit_id":"c5db6ba9813c1e7f9bdd9eec81259b99669509b2"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"5e8739f3d2f4af74273041e7814c12bc04485eb1","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"            self.assertTrue(any([i for i in rules if i[\u0027id\u0027] \u003d\u003d rule1_id]))"},{"line_number":268,"context_line":"            self.assertTrue(any([i for i in rules if i[\u0027id\u0027] \u003d\u003d rule2_id]))"},{"line_number":269,"context_line":"        finally:"},{"line_number":270,"context_line":"            # Deleting the Security Group rule, created in this method"},{"line_number":271,"context_line":"            self.client.delete_security_group_rule(rule1_id)"},{"line_number":272,"context_line":"            self.client.delete_security_group_rule(rule2_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAN3%2F%2F5Io%3D","line":269,"updated":"2013-03-07 11:53:39.000000000","message":"Please avoid using finally in this way, because it can hide the original exception.","commit_id":"c5db6ba9813c1e7f9bdd9eec81259b99669509b2"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"18c4d6b216bd1cd0f3d9b89d503974e4e1264574","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        self.addCleanup(self.client.delete_security_group, securitygroup_id)"},{"line_number":271,"context_line":"        # Deleting the Security Group rule, created in this method"},{"line_number":272,"context_line":"        self.addCleanup(self.client.delete_security_group_rule, rule1_id)"},{"line_number":273,"context_line":"        self.addCleanup(self.client.delete_security_group_rule, rule2_id)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"class SecurityGroupRulesTestXML(SecurityGroupRulesTestJSON):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F3c4%3D","line":273,"updated":"2013-03-08 08:51:37.000000000","message":"I wonder why delete sg first not rule.","commit_id":"073659277f56bedc24e7444e30060430a1c4145f"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"858a0f5933d1389bb647e69ebb9194c0c4a247cc","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        self.addCleanup(self.client.delete_security_group, securitygroup_id)"},{"line_number":271,"context_line":"        # Deleting the Security Group rule, created in this method"},{"line_number":272,"context_line":"        self.addCleanup(self.client.delete_security_group_rule, rule1_id)"},{"line_number":273,"context_line":"        self.addCleanup(self.client.delete_security_group_rule, rule2_id)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"class SecurityGroupRulesTestXML(SecurityGroupRulesTestJSON):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F18k%3D","line":273,"in_reply_to":"AAAAN3%2F%2F3ZA%3D","updated":"2013-03-09 09:56:10.000000000","message":"glad to know that","commit_id":"073659277f56bedc24e7444e30060430a1c4145f"},{"author":{"_account_id":6761,"name":"leo-toyoda","email":"toyoda-reo@cnt.mxw.nes.nec.co.jp","username":"leo-toyoda"},"change_message_id":"bdd17a1d5e0f56e43e09b993064b88a3a013e21c","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        self.addCleanup(self.client.delete_security_group, securitygroup_id)"},{"line_number":271,"context_line":"        # Deleting the Security Group rule, created in this method"},{"line_number":272,"context_line":"        self.addCleanup(self.client.delete_security_group_rule, rule1_id)"},{"line_number":273,"context_line":"        self.addCleanup(self.client.delete_security_group_rule, rule2_id)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"class SecurityGroupRulesTestXML(SecurityGroupRulesTestJSON):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2F3ZA%3D","line":273,"in_reply_to":"AAAAN3%2F%2F3c4%3D","updated":"2013-03-08 09:37:26.000000000","message":"Hi Ivan, thanks for your review. \nI\u0027ve used \"http://docs.python.org/2/library/unittest.html#unittest.TestCase.addCleanup\". \n\nThe document is described as follows: \n\"Functions will be called in reverse order to the order they are added (LIFO).\"\n\nSo I think the correct order.","commit_id":"073659277f56bedc24e7444e30060430a1c4145f"}]}
