)]}'
{"tempest/api/network/test_ports.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"c225f0c3a9009becddf3484635f7492b7ef3a517","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        update_body \u003d {\"security_groups\": []}"},{"line_number":177,"context_line":"        _, body \u003d self.client.update_port(port[\u0027id\u0027], **update_body)"},{"line_number":178,"context_line":"        updated_port \u003d body[\u0027port\u0027]"},{"line_number":179,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"},{"line_number":180,"context_line":"        self.assertTrue(len(updated_port[\u0027security_groups\u0027]) \u003d\u003d 0)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_53db7b4e","line":179,"updated":"2014-08-21 11:34:21.000000000","message":"Is not it sound reasonable to check security_groups of port before update?","commit_id":"7a73dea9921ecabe1cfd34c67d8c1245432f3cfc"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"f0eec704d673653a41fbdc7ea48f8f4c2299e5e1","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        _, body \u003d self.client.create_port(**post_body)"},{"line_number":203,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":204,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":205,"context_line":"        self.assertTrue(len(port[\u0027security_groups\u0027]) !\u003d 0)"},{"line_number":206,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":207,"context_line":"        update_body \u003d {\"security_groups\": []}"},{"line_number":208,"context_line":"        _, body \u003d self.client.update_port(port[\u0027id\u0027], **update_body)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_347b687c","line":205,"updated":"2014-11-14 06:57:37.000000000","message":"we can use bool(port[\u0027security_groups\u0027]) instead of len(port[\u0027security_groups\u0027]) !\u003d 0.\n\nRest looks ok to me.","commit_id":"585fa17557a80a1e62f93cc8f40db865f997aaff"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"44fe01052d0a59c72a20f745ff5c59950f09a3ae","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                     \"security_groups\": []}"},{"line_number":193,"context_line":"        _, body \u003d self.client.create_port(**post_body)"},{"line_number":194,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":195,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":196,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":197,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_bb7ac074","line":195,"updated":"2014-11-15 20:50:53.000000000","message":"much easier:\n\n  port \u003d self.create_port(self.network,{\"security_groups\": []})\n\nand then asserts","commit_id":"244c11ffe76610b57464dd9c3450ba6b2ce1aee4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"44fe01052d0a59c72a20f745ff5c59950f09a3ae","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        _, body \u003d self.client.create_port(**post_body)"},{"line_number":203,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":204,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":205,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":206,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":207,"context_line":"        update_body \u003d {\"security_groups\": []}"},{"line_number":208,"context_line":"        _, body \u003d self.client.update_port(port[\u0027id\u0027], **update_body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_3bb7b03b","line":205,"updated":"2014-11-15 20:50:53.000000000","message":"these 5 lines are the same in both tests, it\u0027s better to use function \"create_port\" in BaseNetworkTest, it will care about resource clean and you don\u0027t need all these stuff here.","commit_id":"244c11ffe76610b57464dd9c3450ba6b2ce1aee4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"44fe01052d0a59c72a20f745ff5c59950f09a3ae","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":204,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":205,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":206,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":207,"context_line":"        update_body \u003d {\"security_groups\": []}"},{"line_number":208,"context_line":"        _, body \u003d self.client.update_port(port[\u0027id\u0027], **update_body)"},{"line_number":209,"context_line":"        updated_port \u003d body[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_9ba264fb","line":206,"updated":"2014-11-15 20:50:53.000000000","message":"please add CleanUp before any asserts if you use it.","commit_id":"244c11ffe76610b57464dd9c3450ba6b2ce1aee4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"32386e97ef9a107d90ac163f8638ec607240d28e","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    def test_create_port_with_no_securitygroups(self):"},{"line_number":191,"context_line":"        port \u003d self.create_port(self.create_network(), security_groups\u003d[])"},{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_0abab30a","line":193,"updated":"2014-12-03 09:07:43.000000000","message":"port[\u0027security_groups\u0027] is list. Cannot we use assertEmpty(port[\u0027security_groups\u0027])?","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":12626,"name":"Rajkumar","email":"rajkumart@hp.com","username":"raj15"},"change_message_id":"d6077de1056e032f0c2d78fe3ea3b64fef7fe0a7","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    def test_create_port_with_no_securitygroups(self):"},{"line_number":191,"context_line":"        port \u003d self.create_port(self.create_network(), security_groups\u003d[])"},{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_bb2269a1","line":193,"in_reply_to":"5a890539_0abab30a","updated":"2014-12-05 12:55:21.000000000","message":"Done","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":8767,"name":"Nikolay Fedotov","email":"nfedotov@cisco.com","username":"nfedotov"},"change_message_id":"a98f3e0265c1f04a565b809ecc97668ce7ba22a4","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_10f9064e","line":195,"updated":"2014-11-24 11:43:00.000000000","message":"Is this appropriate type(\u003dsmoke) for such tests? In my opinion the \"negative\u0027\" describes the tests much better.","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"1abbd135ab59b79a51dde8c7ce25c0fd56ba48a0","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_ec7c8c22","line":195,"in_reply_to":"5a890539_10f9064e","updated":"2014-11-24 23:52:16.000000000","message":"I don\u0027t think it\u0027s negative test. Valid options are checked here, no errors are expected..","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":12626,"name":"Rajkumar","email":"rajkumart@hp.com","username":"raj15"},"change_message_id":"1771c6859704f009981833c7eeceb1a03f5adebe","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_de6051a7","line":195,"in_reply_to":"5a890539_10f9064e","updated":"2014-11-25 07:19:43.000000000","message":"Thanks for the review.\nI too don\u0027t think that it\u0027s a negative test. Since the operation is in success state.Please let me know your thoughts.","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":8767,"name":"Nikolay Fedotov","email":"nfedotov@cisco.com","username":"nfedotov"},"change_message_id":"f638cae7a27b33c9887325cc5e1ee0ec0e54b789","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_d28e7d78","line":195,"in_reply_to":"5a890539_94e4e50d","updated":"2014-11-25 11:59:54.000000000","message":"Thank you for your replies. peace.","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"6c6795204992459ab1ea63b7fb35e088905260db","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_94e4e50d","line":195,"in_reply_to":"5a890539_de6051a7","updated":"2014-11-25 11:03:43.000000000","message":"This is definitely not negative tests.","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":12626,"name":"Rajkumar","email":"rajkumart@hp.com","username":"raj15"},"change_message_id":"1771c6859704f009981833c7eeceb1a03f5adebe","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":193,"context_line":"        self.assertFalse(bool(port[\u0027security_groups\u0027]))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_beeb85a2","line":195,"in_reply_to":"5a890539_ec7c8c22","updated":"2014-11-25 07:19:43.000000000","message":"agreed","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b21802361d4c6630b612c2893fd2aa455b97a78c","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_aa3c3fe2","line":197,"updated":"2014-12-03 09:14:23.000000000","message":"Also comment would be nice here-\n\n\u0027verify that port is created with default security group\u0027","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":12626,"name":"Rajkumar","email":"rajkumart@hp.com","username":"raj15"},"change_message_id":"d6077de1056e032f0c2d78fe3ea3b64fef7fe0a7","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_7b01e103","line":197,"in_reply_to":"5a890539_aa3c3fe2","updated":"2014-12-05 12:55:21.000000000","message":"Done","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"9becc9504a4f2f1bdf5ed4c1407f992f93dbda6a","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":201,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_104c34c8","line":198,"updated":"2014-11-27 09:24:43.000000000","message":"What is exactly the \"type\" of port[\u0027security_groups\u0027] ?\n\nI mean, assertIsNotNone is vague and assertFalse + a type casting is suboptimal.\n\nAnd you should remove the test test_create_port_with_no_securitygroups, imo. The first 3 lines of test_update_port_with_no_securitygroups contains the test in test_create_port_with_no_securitygroups","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":12626,"name":"Rajkumar","email":"rajkumart@hp.com","username":"raj15"},"change_message_id":"5a9795a55f666017cc4ec46cd2ecbb2e6e42e0d4","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":201,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_341e7a0e","line":198,"in_reply_to":"5a890539_104c34c8","updated":"2014-11-27 14:05:49.000000000","message":"Jordan,\n          Here I am checking particularly security group rules are there or not by assertTrue and optionally I am checking security group keyword exits are not by assertIsNotNone. So I think it is better to have assertIsNotNone itself.\n\n         The first three lines  in both testcases are not same. First test case create ports with no security groups by explicitly specifying while creation. second testcase creates port with out specifying anything , it means it will have default security groups in it. and then updating the port with no security groups.\n\n       Thanks for reviewing and please let me know your thoughts","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"cc37d17b33fe91626c51567aec5c8d39a7466067","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":201,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_776ac482","line":198,"in_reply_to":"5a890539_341e7a0e","updated":"2014-11-27 14:40:41.000000000","message":"Oups sorry, I misread the 2 tests, they are indeed different. Thanks for the explanation.\n\nI still don\u0027t like the assertIsNotNone and the type casting but it\u0027s not worth a -1 as I don\"t have anything to suggest.","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"32386e97ef9a107d90ac163f8638ec607240d28e","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":201,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"},{"line_number":202,"context_line":"        self.assertFalse(bool(updated_port[\u0027security_groups\u0027]))"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_8a3dc390","line":199,"updated":"2014-12-03 09:07:43.000000000","message":"assertNotEmpty(port[\u0027security_groups\u0027]) ?","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":12626,"name":"Rajkumar","email":"rajkumart@hp.com","username":"raj15"},"change_message_id":"d6077de1056e032f0c2d78fe3ea3b64fef7fe0a7","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    def test_update_port_with_no_securitygroups(self):"},{"line_number":197,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":198,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":201,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"},{"line_number":202,"context_line":"        self.assertFalse(bool(updated_port[\u0027security_groups\u0027]))"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_db0f352e","line":199,"in_reply_to":"5a890539_8a3dc390","updated":"2014-12-05 12:55:21.000000000","message":"Done","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"32386e97ef9a107d90ac163f8638ec607240d28e","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":201,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"},{"line_number":202,"context_line":"        self.assertFalse(bool(updated_port[\u0027security_groups\u0027]))"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class PortsTestXML(PortsTestJSON):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_aa427f0c","line":202,"updated":"2014-12-03 09:07:43.000000000","message":"ditto","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":12626,"name":"Rajkumar","email":"rajkumart@hp.com","username":"raj15"},"change_message_id":"d6077de1056e032f0c2d78fe3ea3b64fef7fe0a7","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        self.assertTrue(bool(port[\u0027security_groups\u0027]))"},{"line_number":200,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":201,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"},{"line_number":202,"context_line":"        self.assertFalse(bool(updated_port[\u0027security_groups\u0027]))"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class PortsTestXML(PortsTestJSON):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_fb0cf13b","line":202,"in_reply_to":"5a890539_aa427f0c","updated":"2014-12-05 12:55:21.000000000","message":"Done","commit_id":"156a524bcbdc7f6020f2964e6bba8950d3d86f14"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"a7b3720fb98cd5831db22bf8b19dca49a5f99d70","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":215,"context_line":"        # Verify that port is created with default security group"},{"line_number":216,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":217,"context_line":"        self.assertNotEmpty(port[\u0027security_groups\u0027])"},{"line_number":218,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":219,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"},{"line_number":220,"context_line":"        self.assertEmpty(updated_port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_aa0f66e0","line":217,"updated":"2014-12-08 15:24:08.000000000","message":"If you submit a new PS, maybe consider using assertEqual(1, len(port[\u0027security_groups\u0027]))","commit_id":"395b87a9f2b400c5c92f3066b5dfad6c971fd5a5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"40876544f26a575268a6389d2a0a382ef451bf44","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        port \u003d self.create_port(self.create_network())"},{"line_number":215,"context_line":"        # Verify that port is created with default security group"},{"line_number":216,"context_line":"        self.assertIsNotNone(port[\u0027security_groups\u0027])"},{"line_number":217,"context_line":"        self.assertNotEmpty(port[\u0027security_groups\u0027])"},{"line_number":218,"context_line":"        updated_port \u003d self.update_port(port, security_groups\u003d[])"},{"line_number":219,"context_line":"        self.assertIsNotNone(updated_port[\u0027security_groups\u0027])"},{"line_number":220,"context_line":"        self.assertEmpty(updated_port[\u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_31a67411","line":217,"in_reply_to":"3a961159_aa0f66e0","updated":"2014-12-09 02:38:22.000000000","message":"maybe this\n\n self.assertNotEmpty(port[\u0027security_groups\u0027])\n\nis for corresponding check to line 220.\nso LGTM for current code.","commit_id":"395b87a9f2b400c5c92f3066b5dfad6c971fd5a5"}]}
