)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"bd32513e42389de76e7e47df9317e6d76218c844","unresolved":false,"context_lines":[{"line_number":10,"context_line":"OS::Neutron::FirewallRule"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I4cee376e67bd58b7da6778467808e4309fea56a9"},{"line_number":13,"context_line":"blueprint: tempest-heat-integration"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1ae5cdf2_192183fb","line":13,"updated":"2014-06-01 12:03:05.000000000","message":"Have you implemented the blueprint completely or not? This \"blueprint\" line is incorrect slightly. If you have implemented the blueprint completely, \n\n    Implements: blueprint tempest-heat-integration\n\nIf partially,\n\n    Partially implements: blueprint tempest-heat-integration\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_GIT_commit_message_structure","commit_id":"13d592555b061716d07b03930e73c40b05aea0c8"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"24129c9376d65e631152249f007d856a86f8819b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"OS::Neutron::FirewallRule"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I4cee376e67bd58b7da6778467808e4309fea56a9"},{"line_number":13,"context_line":"blueprint: tempest-heat-integration"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1ae5cdf2_2325fcaa","line":13,"in_reply_to":"1ae5cdf2_192183fb","updated":"2014-06-03 08:03:23.000000000","message":"Done","commit_id":"13d592555b061716d07b03930e73c40b05aea0c8"}],"tempest/api/orchestration/stacks/test_neutron_resources.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"62c2e943722ba7d922f0c146f06ed991a29e26bc","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        resp, body \u003d self.network_client.show_firewall_rule(firewallrule_id)"},{"line_number":172,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":173,"context_line":"        firewallrule \u003d body[\u0027firewall_rule\u0027]"},{"line_number":174,"context_line":"        self.assertIsInstance(firewallrule, dict)"},{"line_number":175,"context_line":"        self.assertEqual(firewallrule_id, firewallrule[\u0027id\u0027])"},{"line_number":176,"context_line":"        self.assertEqual(\u0027allow\u0027, firewallrule[\u0027action\u0027])"},{"line_number":177,"context_line":"        self.assertEqual(\u0027Allow SSH connection\u0027, firewallrule[\u0027description\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_a93f5324","line":174,"updated":"2014-05-28 21:20:36.000000000","message":"I think self.assertIsInstance(...) is unneeded here.","commit_id":"4c7433b73b4d729987c2b10dfbd7db099ad754ef"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"0ce3d720d18c23bb7753ea939208676e70f54c70","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        resp, body \u003d self.network_client.show_firewall_rule(firewallrule_id)"},{"line_number":172,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":173,"context_line":"        firewallrule \u003d body[\u0027firewall_rule\u0027]"},{"line_number":174,"context_line":"        self.assertIsInstance(firewallrule, dict)"},{"line_number":175,"context_line":"        self.assertEqual(firewallrule_id, firewallrule[\u0027id\u0027])"},{"line_number":176,"context_line":"        self.assertEqual(\u0027allow\u0027, firewallrule[\u0027action\u0027])"},{"line_number":177,"context_line":"        self.assertEqual(\u0027Allow SSH connection\u0027, firewallrule[\u0027description\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_6d2bd7eb","line":174,"in_reply_to":"3ae8d1ca_a93f5324","updated":"2014-05-30 08:46:10.000000000","message":"Done","commit_id":"4c7433b73b4d729987c2b10dfbd7db099ad754ef"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"62c2e943722ba7d922f0c146f06ed991a29e26bc","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        resp, body \u003d self.network_client.show_firewall_policy(firewallpolicy_id)"},{"line_number":194,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":195,"context_line":"        firewallpolicy \u003d body[\u0027firewall_policy\u0027]"},{"line_number":196,"context_line":"        self.assertIsInstance(firewallpolicy, dict)"},{"line_number":197,"context_line":"        self.assertEqual(firewallpolicy_id, firewallpolicy[\u0027id\u0027])"},{"line_number":198,"context_line":"        self.assertEqual(False, firewallpolicy[\u0027audited\u0027])"},{"line_number":199,"context_line":"        self.assertEqual(2, len(firewallpolicy[\u0027firewall_rules\u0027]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_4916cfa8","line":196,"updated":"2014-05-28 21:20:36.000000000","message":"ditto","commit_id":"4c7433b73b4d729987c2b10dfbd7db099ad754ef"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"0ce3d720d18c23bb7753ea939208676e70f54c70","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        resp, body \u003d self.network_client.show_firewall_policy(firewallpolicy_id)"},{"line_number":194,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":195,"context_line":"        firewallpolicy \u003d body[\u0027firewall_policy\u0027]"},{"line_number":196,"context_line":"        self.assertIsInstance(firewallpolicy, dict)"},{"line_number":197,"context_line":"        self.assertEqual(firewallpolicy_id, firewallpolicy[\u0027id\u0027])"},{"line_number":198,"context_line":"        self.assertEqual(False, firewallpolicy[\u0027audited\u0027])"},{"line_number":199,"context_line":"        self.assertEqual(2, len(firewallpolicy[\u0027firewall_rules\u0027]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_cd3a2b36","line":196,"in_reply_to":"3ae8d1ca_4916cfa8","updated":"2014-05-30 08:46:10.000000000","message":"Done","commit_id":"4c7433b73b4d729987c2b10dfbd7db099ad754ef"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"62c2e943722ba7d922f0c146f06ed991a29e26bc","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        resp, body \u003d self.network_client.show_firewall(firewall_id)"},{"line_number":211,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":212,"context_line":"        firewall \u003d body[\u0027firewall\u0027]"},{"line_number":213,"context_line":"        self.assertIsInstance(firewall, dict)"},{"line_number":214,"context_line":"        self.assertEqual(firewall_id, firewall[\u0027id\u0027])"},{"line_number":215,"context_line":"        self.assertEqual(False, firewall[\u0027admin_state_up\u0027])"},{"line_number":216,"context_line":"        self.assertEqual(\u0027A Test Firewall\u0027, firewall[\u0027description\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_690d4b90","line":213,"updated":"2014-05-28 21:20:36.000000000","message":"ditto","commit_id":"4c7433b73b4d729987c2b10dfbd7db099ad754ef"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"0ce3d720d18c23bb7753ea939208676e70f54c70","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        resp, body \u003d self.network_client.show_firewall(firewall_id)"},{"line_number":211,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":212,"context_line":"        firewall \u003d body[\u0027firewall\u0027]"},{"line_number":213,"context_line":"        self.assertIsInstance(firewall, dict)"},{"line_number":214,"context_line":"        self.assertEqual(firewall_id, firewall[\u0027id\u0027])"},{"line_number":215,"context_line":"        self.assertEqual(False, firewall[\u0027admin_state_up\u0027])"},{"line_number":216,"context_line":"        self.assertEqual(\u0027A Test Firewall\u0027, firewall[\u0027description\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_ed3e0729","line":213,"in_reply_to":"3ae8d1ca_690d4b90","updated":"2014-05-30 08:46:10.000000000","message":"Done","commit_id":"4c7433b73b4d729987c2b10dfbd7db099ad754ef"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"bd32513e42389de76e7e47df9317e6d76218c844","unresolved":false,"context_lines":[{"line_number":167,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":168,"context_line":"    def test_created_firewallrule(self):"},{"line_number":169,"context_line":"        \"\"\"Verifies created firewallrule.\"\"\""},{"line_number":170,"context_line":"        firewallrule_id \u003d self.test_resources\\"},{"line_number":171,"context_line":"            .get(\u0027FirewallRule1\u0027)[\u0027physical_resource_id\u0027]"},{"line_number":172,"context_line":"        resp, body \u003d self.network_client.show_firewall_rule(firewallrule_id)"},{"line_number":173,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_79644749","line":170,"updated":"2014-06-01 12:03:05.000000000","message":"Please, wrap long lines in parentheses and not a backslash for line continuation.\n\nhttp://docs.openstack.org/developer/hacking/#general","commit_id":"13d592555b061716d07b03930e73c40b05aea0c8"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"24129c9376d65e631152249f007d856a86f8819b","unresolved":false,"context_lines":[{"line_number":167,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":168,"context_line":"    def test_created_firewallrule(self):"},{"line_number":169,"context_line":"        \"\"\"Verifies created firewallrule.\"\"\""},{"line_number":170,"context_line":"        firewallrule_id \u003d self.test_resources\\"},{"line_number":171,"context_line":"            .get(\u0027FirewallRule1\u0027)[\u0027physical_resource_id\u0027]"},{"line_number":172,"context_line":"        resp, body \u003d self.network_client.show_firewall_rule(firewallrule_id)"},{"line_number":173,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_831ed061","line":170,"in_reply_to":"1ae5cdf2_79644749","updated":"2014-06-03 08:03:23.000000000","message":"Done","commit_id":"13d592555b061716d07b03930e73c40b05aea0c8"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"3fc171c63b397e90cb88b1bda0befc4c08e02824","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        self.assertEqual(\u0027Allow SSH connection\u0027, firewallrule[\u0027description\u0027])"},{"line_number":178,"context_line":"        self.assertEqual(\u002710.0.3.0/24\u0027, firewallrule[\u0027destination_ip_address\u0027])"},{"line_number":179,"context_line":"        self.assertEqual(\u002722\u0027, firewallrule[\u0027destination_port\u0027])"},{"line_number":180,"context_line":"        self.assertEqual(True, firewallrule[\u0027enabled\u0027])"},{"line_number":181,"context_line":"        self.assertEqual(4, firewallrule[\u0027ip_version\u0027])"},{"line_number":182,"context_line":"        self.assertEqual(\u0027tcp\u0027, firewallrule[\u0027protocol\u0027])"},{"line_number":183,"context_line":"        self.assertEqual(False, firewallrule[\u0027shared\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ae5cdf2_bb1e356e","line":180,"updated":"2014-06-05 11:33:19.000000000","message":"may be would be better use self.assertTrue?","commit_id":"d07b3e995fe777008c43a06cc6a427ac838b0c7d"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"ca70b058ad4de1078116382d4df642a9fac68210","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        self.assertEqual(\u0027Allow SSH connection\u0027, firewallrule[\u0027description\u0027])"},{"line_number":178,"context_line":"        self.assertEqual(\u002710.0.3.0/24\u0027, firewallrule[\u0027destination_ip_address\u0027])"},{"line_number":179,"context_line":"        self.assertEqual(\u002722\u0027, firewallrule[\u0027destination_port\u0027])"},{"line_number":180,"context_line":"        self.assertEqual(True, firewallrule[\u0027enabled\u0027])"},{"line_number":181,"context_line":"        self.assertEqual(4, firewallrule[\u0027ip_version\u0027])"},{"line_number":182,"context_line":"        self.assertEqual(\u0027tcp\u0027, firewallrule[\u0027protocol\u0027])"},{"line_number":183,"context_line":"        self.assertEqual(False, firewallrule[\u0027shared\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ae5cdf2_84e3c3d7","line":180,"in_reply_to":"1ae5cdf2_bb1e356e","updated":"2014-06-06 00:53:15.000000000","message":"I want to measure the value of \u0027enbaled\u0027 property in template, and the value is  not the execution result but manually set somewhere, so IMO until there\u0027s a usual practice like never use assertEqual when validating boolean values, assertEqual is more reasonable in this condition.","commit_id":"d07b3e995fe777008c43a06cc6a427ac838b0c7d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"3fc171c63b397e90cb88b1bda0befc4c08e02824","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        self.assertEqual(True, firewallrule[\u0027enabled\u0027])"},{"line_number":181,"context_line":"        self.assertEqual(4, firewallrule[\u0027ip_version\u0027])"},{"line_number":182,"context_line":"        self.assertEqual(\u0027tcp\u0027, firewallrule[\u0027protocol\u0027])"},{"line_number":183,"context_line":"        self.assertEqual(False, firewallrule[\u0027shared\u0027])"},{"line_number":184,"context_line":"        self.assertEqual(\u002710.10.1.0/24\u0027, firewallrule[\u0027source_ip_address\u0027])"},{"line_number":185,"context_line":"        self.assertEqual(\u002722\u0027, firewallrule[\u0027source_port\u0027])"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1ae5cdf2_fb143d4e","line":183,"updated":"2014-06-05 11:33:19.000000000","message":"may be would be better use self.assertFalse?","commit_id":"d07b3e995fe777008c43a06cc6a427ac838b0c7d"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"ca70b058ad4de1078116382d4df642a9fac68210","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        self.assertEqual(True, firewallrule[\u0027enabled\u0027])"},{"line_number":181,"context_line":"        self.assertEqual(4, firewallrule[\u0027ip_version\u0027])"},{"line_number":182,"context_line":"        self.assertEqual(\u0027tcp\u0027, firewallrule[\u0027protocol\u0027])"},{"line_number":183,"context_line":"        self.assertEqual(False, firewallrule[\u0027shared\u0027])"},{"line_number":184,"context_line":"        self.assertEqual(\u002710.10.1.0/24\u0027, firewallrule[\u0027source_ip_address\u0027])"},{"line_number":185,"context_line":"        self.assertEqual(\u002722\u0027, firewallrule[\u0027source_port\u0027])"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1ae5cdf2_c4e94bb8","line":183,"in_reply_to":"1ae5cdf2_fb143d4e","updated":"2014-06-06 00:53:15.000000000","message":"ditto","commit_id":"d07b3e995fe777008c43a06cc6a427ac838b0c7d"}]}
