)]}'
{"neutron_tempest_plugin/api/test_security_groups_negative.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"699fc6d2724763702ebe9851efe61a01baf80845","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        net \u003d self.create_network()"},{"line_number":94,"context_line":"        port \u003d self.create_port(net)"},{"line_number":95,"context_line":"        sg \u003d self.create_security_group()"},{"line_number":96,"context_line":"        duplicate_port_query \u003d {\u0027security_groups\u0027: [sg[\u0027id\u0027], sg[\u0027id\u0027]]}"},{"line_number":97,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":98,"context_line":"                self.update_port,"},{"line_number":99,"context_line":"                port,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_5c0853d7","line":96,"updated":"2020-01-13 21:26:35.000000000","message":"Wouldn\u0027t duplicate_port_update be better?  Given that we are telling neutron to do something, not asking it for information, \u0027query\u0027 is misleading.","commit_id":"9d795bc04c316c8438d9b02a17e93b1d5b071c8e"},{"author":{"_account_id":31450,"name":"Alex Katz","email":"akatz@redhat.com","username":"akatz"},"change_message_id":"627866464b05441eb519a6d7815c599c7e593e55","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        net \u003d self.create_network()"},{"line_number":94,"context_line":"        port \u003d self.create_port(net)"},{"line_number":95,"context_line":"        sg \u003d self.create_security_group()"},{"line_number":96,"context_line":"        duplicate_port_query \u003d {\u0027security_groups\u0027: [sg[\u0027id\u0027], sg[\u0027id\u0027]]}"},{"line_number":97,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":98,"context_line":"                self.update_port,"},{"line_number":99,"context_line":"                port,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_d39989cf","line":96,"in_reply_to":"3fa7e38b_5c0853d7","updated":"2020-01-14 10:19:00.000000000","message":"Done","commit_id":"9d795bc04c316c8438d9b02a17e93b1d5b071c8e"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"699fc6d2724763702ebe9851efe61a01baf80845","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def test_assign_sg_to_server_twice(self):"},{"line_number":105,"context_line":"        sg \u003d self.create_security_group()"},{"line_number":106,"context_line":"        srv \u003d self._create_server(sec_group\u003dsg)"},{"line_number":107,"context_line":"        srv_ops \u003d self.os_primary.compute.ServersClient()"},{"line_number":108,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":109,"context_line":"                srv_ops.action,"},{"line_number":110,"context_line":"                srv[\u0027id\u0027], \"addSecurityGroup\", **{\u0027name\u0027: sg[\u0027id\u0027]})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_dcfbe3bc","line":107,"range":{"start_line":107,"start_character":8,"end_line":107,"end_character":57},"updated":"2020-01-13 21:26:35.000000000","message":"I would not use \u0027srv\u0027 as an abbreviation for \u0027server\u0027 as it could confuse people who are used to the DNS SRV record type.  Bytes are cheap, perhaps we could say server instead of srv, and server_client instead of srv_ops?","commit_id":"9d795bc04c316c8438d9b02a17e93b1d5b071c8e"},{"author":{"_account_id":31450,"name":"Alex Katz","email":"akatz@redhat.com","username":"akatz"},"change_message_id":"627866464b05441eb519a6d7815c599c7e593e55","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def test_assign_sg_to_server_twice(self):"},{"line_number":105,"context_line":"        sg \u003d self.create_security_group()"},{"line_number":106,"context_line":"        srv \u003d self._create_server(sec_group\u003dsg)"},{"line_number":107,"context_line":"        srv_ops \u003d self.os_primary.compute.ServersClient()"},{"line_number":108,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":109,"context_line":"                srv_ops.action,"},{"line_number":110,"context_line":"                srv[\u0027id\u0027], \"addSecurityGroup\", **{\u0027name\u0027: sg[\u0027id\u0027]})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_93a31100","line":107,"range":{"start_line":107,"start_character":8,"end_line":107,"end_character":57},"in_reply_to":"3fa7e38b_dcfbe3bc","updated":"2020-01-14 10:19:00.000000000","message":"Done","commit_id":"9d795bc04c316c8438d9b02a17e93b1d5b071c8e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"102b8de4a45eb871c1ab550b07fd60136f62a6b7","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        port \u003d self.create_port(net)"},{"line_number":95,"context_line":"        sg \u003d self.create_security_group()"},{"line_number":96,"context_line":"        duplicate_port_update \u003d {\u0027security_groups\u0027: [sg[\u0027id\u0027], sg[\u0027id\u0027]]}"},{"line_number":97,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":98,"context_line":"                self.update_port,"},{"line_number":99,"context_line":"                port,"},{"line_number":100,"context_line":"                **duplicate_port_update)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_339c600c","line":97,"updated":"2020-01-17 07:45:27.000000000","message":"nit: I would move this to line below or to align indentations or align indentation of lines below to be equal with this one, like is e.g. in L86-88 in this file.","commit_id":"7e0a3388fff953aea0eec021a2c3583e25eb53fa"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"102b8de4a45eb871c1ab550b07fd60136f62a6b7","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    @decorators.attr(type\u003d\u0027negative\u0027)"},{"line_number":103,"context_line":"    @decorators.idempotent_id(\u00279e5dbbd5-4f4a-4033-9251-f49a62ebb386\u0027)"},{"line_number":104,"context_line":"    def test_assign_sg_to_server_twice(self):"},{"line_number":105,"context_line":"        sg \u003d self.create_security_group()"},{"line_number":106,"context_line":"        server \u003d self._create_server(sec_group\u003dsg)"},{"line_number":107,"context_line":"        server_client \u003d self.os_primary.compute.ServersClient()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_7360980d","line":104,"updated":"2020-01-17 07:45:27.000000000","message":"do we actually need this test in neutron-tempest-plugin? What it is actually testing more than test above from neutron point of view?","commit_id":"7e0a3388fff953aea0eec021a2c3583e25eb53fa"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"102b8de4a45eb871c1ab550b07fd60136f62a6b7","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        server_client \u003d self.os_primary.compute.ServersClient()"},{"line_number":108,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":109,"context_line":"                server_client.action,"},{"line_number":110,"context_line":"                server[\u0027id\u0027], \"addSecurityGroup\", **{\u0027name\u0027: sg[\u0027id\u0027]})"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _create_server(self, network\u003dNone, sec_group\u003dNone):"},{"line_number":113,"context_line":"        sg \u003d sec_group or self.create_security_group()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_d382aca6","line":110,"updated":"2020-01-17 07:45:27.000000000","message":"same here","commit_id":"7e0a3388fff953aea0eec021a2c3583e25eb53fa"}]}
