)]}'
{"neutron/tests/unit/ml2/test_ml2_plugin.py":[{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"4eccd44185a05037792b6a8dcba9800b0c451938","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":387,"context_line":"                                \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":388,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":389,"context_line":"            network \u003d self.deserialize(self.fmt,"},{"line_number":390,"context_line":"                                       req.get_response(self.api))"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            res \u003d req.get_response(self.api)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_03bacdbf","line":389,"updated":"2014-06-10 15:56:23.000000000","message":"deserialization should go after response code checking","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"8f934c57c561de86959ed6f2a43437b0cb7618cc","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":387,"context_line":"                                \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":388,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":389,"context_line":"            network \u003d self.deserialize(self.fmt,"},{"line_number":390,"context_line":"                                       req.get_response(self.api))"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            res \u003d req.get_response(self.api)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_4fa30f9e","line":389,"in_reply_to":"1ae5cdf2_03bacdbf","updated":"2014-06-10 19:27:37.000000000","message":"Done","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"4eccd44185a05037792b6a8dcba9800b0c451938","unresolved":false,"context_lines":[{"line_number":389,"context_line":"            network \u003d self.deserialize(self.fmt,"},{"line_number":390,"context_line":"                                       req.get_response(self.api))"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":393,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    def test_delete_network_faulty(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_c3bf05a9","line":392,"updated":"2014-06-10 15:56:23.000000000","message":"store response in a variable and reuse it","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"8f934c57c561de86959ed6f2a43437b0cb7618cc","unresolved":false,"context_lines":[{"line_number":389,"context_line":"            network \u003d self.deserialize(self.fmt,"},{"line_number":390,"context_line":"                                       req.get_response(self.api))"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":393,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    def test_delete_network_faulty(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_afa81378","line":392,"in_reply_to":"1ae5cdf2_c3bf05a9","updated":"2014-06-10 19:27:37.000000000","message":"Done","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"4eccd44185a05037792b6a8dcba9800b0c451938","unresolved":false,"context_lines":[{"line_number":407,"context_line":"                data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":408,"context_line":"                                    \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":409,"context_line":"                network_req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":410,"context_line":"                network \u003d self.deserialize("},{"line_number":411,"context_line":"                    self.fmt,"},{"line_number":412,"context_line":"                    network_req.get_response(self.api))"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_23ffc968","line":410,"updated":"2014-06-10 15:56:23.000000000","message":"I think you need to check error code here too, before deserializing","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"8f934c57c561de86959ed6f2a43437b0cb7618cc","unresolved":false,"context_lines":[{"line_number":407,"context_line":"                data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":408,"context_line":"                                    \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":409,"context_line":"                network_req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":410,"context_line":"                network \u003d self.deserialize("},{"line_number":411,"context_line":"                    self.fmt,"},{"line_number":412,"context_line":"                    network_req.get_response(self.api))"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_cfb63fdc","line":410,"in_reply_to":"1ae5cdf2_23ffc968","updated":"2014-06-10 19:27:37.000000000","message":"Done","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"4eccd44185a05037792b6a8dcba9800b0c451938","unresolved":false,"context_lines":[{"line_number":470,"context_line":"                req \u003d self.new_create_request(\u0027subnets\u0027, data)"},{"line_number":471,"context_line":"                subnet \u003d self.deserialize(self.fmt, req.get_response(self.api))"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":474,"context_line":"                self.assertEqual(res.status_int, 500)"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    def test_delete_subnet_faulty(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_a3f2f997","line":473,"updated":"2014-06-10 15:56:23.000000000","message":"same as above: reuse deserialization result","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"8f934c57c561de86959ed6f2a43437b0cb7618cc","unresolved":false,"context_lines":[{"line_number":470,"context_line":"                req \u003d self.new_create_request(\u0027subnets\u0027, data)"},{"line_number":471,"context_line":"                subnet \u003d self.deserialize(self.fmt, req.get_response(self.api))"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":474,"context_line":"                self.assertEqual(res.status_int, 500)"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    def test_delete_subnet_faulty(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_efb93bcc","line":473,"in_reply_to":"1ae5cdf2_a3f2f997","updated":"2014-06-10 19:27:37.000000000","message":"Done","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"4eccd44185a05037792b6a8dcba9800b0c451938","unresolved":false,"context_lines":[{"line_number":493,"context_line":"                                   network[\u0027network\u0027][\u0027tenant_id\u0027],"},{"line_number":494,"context_line":"                                   \u0027gateway_ip\u0027: \u002710.0.2.1\u0027}}"},{"line_number":495,"context_line":"                subnet_req \u003d self.new_create_request(\u0027subnets\u0027, data)"},{"line_number":496,"context_line":"                subnet \u003d self.deserialize("},{"line_number":497,"context_line":"                    self.fmt,"},{"line_number":498,"context_line":"                    subnet_req.get_response(self.api))"},{"line_number":499,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_032f2df7","line":496,"updated":"2014-06-10 15:56:23.000000000","message":"same","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"8f934c57c561de86959ed6f2a43437b0cb7618cc","unresolved":false,"context_lines":[{"line_number":493,"context_line":"                                   network[\u0027network\u0027][\u0027tenant_id\u0027],"},{"line_number":494,"context_line":"                                   \u0027gateway_ip\u0027: \u002710.0.2.1\u0027}}"},{"line_number":495,"context_line":"                subnet_req \u003d self.new_create_request(\u0027subnets\u0027, data)"},{"line_number":496,"context_line":"                subnet \u003d self.deserialize("},{"line_number":497,"context_line":"                    self.fmt,"},{"line_number":498,"context_line":"                    subnet_req.get_response(self.api))"},{"line_number":499,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_0fb107e1","line":496,"in_reply_to":"1ae5cdf2_032f2df7","updated":"2014-06-10 19:27:37.000000000","message":"Done","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"4eccd44185a05037792b6a8dcba9800b0c451938","unresolved":false,"context_lines":[{"line_number":560,"context_line":"                port \u003d self.deserialize("},{"line_number":561,"context_line":"                    self.fmt,"},{"line_number":562,"context_line":"                    req.get_response(self.api))"},{"line_number":563,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":564,"context_line":"                self.assertEqual(res.status_int, 500)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def test_update_port_faulty(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_633f1126","line":563,"updated":"2014-06-10 15:56:23.000000000","message":"same","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"8f934c57c561de86959ed6f2a43437b0cb7618cc","unresolved":false,"context_lines":[{"line_number":560,"context_line":"                port \u003d self.deserialize("},{"line_number":561,"context_line":"                    self.fmt,"},{"line_number":562,"context_line":"                    req.get_response(self.api))"},{"line_number":563,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":564,"context_line":"                self.assertEqual(res.status_int, 500)"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    def test_update_port_faulty(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_6fc52b3c","line":563,"in_reply_to":"1ae5cdf2_633f1126","updated":"2014-06-10 19:27:37.000000000","message":"Done","commit_id":"1a4b7803e7f274cb28bc4125670c7eef517f39e7"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"32436591b678d6785b0a93790d8daabdd587fcbf","unresolved":false,"context_lines":[{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        with mock.patch.object(mech_test.TestMechanismDriver,"},{"line_number":384,"context_line":"                               \u0027create_network_postcommit\u0027,"},{"line_number":385,"context_line":"                               new\u003dmock_create_network_postcommit):"},{"line_number":386,"context_line":"            data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":387,"context_line":"                                \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":388,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_570ef43b","line":385,"updated":"2014-06-12 19:31:13.000000000","message":"have you considered using side_effect\u003dml2_exc.MechanismDriverError instead (like here: https://github.com/openstack/neutron/blob/master/neutron/tests/unit/vmware/test_nsx_plugin.py#L204)\n\nThat would make this change a lot more compact and easier to read.","commit_id":"abe7bde0b83268e082211df3c0e0b886d576684e"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"4b131c0d305194c86f1df756e3aa89efca536051","unresolved":false,"context_lines":[{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        with mock.patch.object(mech_test.TestMechanismDriver,"},{"line_number":384,"context_line":"                               \u0027create_network_postcommit\u0027,"},{"line_number":385,"context_line":"                               new\u003dmock_create_network_postcommit):"},{"line_number":386,"context_line":"            data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":387,"context_line":"                                \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":388,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_5d8b73c2","line":385,"in_reply_to":"1ae5cdf2_570ef43b","updated":"2014-06-12 20:24:18.000000000","message":"Done","commit_id":"abe7bde0b83268e082211df3c0e0b886d576684e"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"08821d973a1c756a02b2f129314ab5e44d9e2b73","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                                \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":384,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":385,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":386,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":387,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":388,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":389,"context_line":"                             \u0027MechanismDriverError\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_1cdaad77","line":386,"updated":"2014-06-13 17:47:08.000000000","message":"I\u0027m actually concerned about return code: is it really 500?\n500 usually means \u0027Internal server error\u0027 which we would not show to user in any case.","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"b2b149e64c07ede2a0d6582765b5a336fc986ad3","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                                \u0027tenant_id\u0027: \u0027tenant_one\u0027}}"},{"line_number":384,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":385,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":386,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":387,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":388,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":389,"context_line":"                             \u0027MechanismDriverError\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_3f5bd622","line":386,"in_reply_to":"1ae5cdf2_1cdaad77","updated":"2014-06-13 21:14:25.000000000","message":"yes, it\u0027s 500.  Is there a better value?  Do we want to make that change here (in response to a code coverage bug)?  I\u0027m ok to do that, if we\u0027re confident it\u0027s the right thing.","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"a87f123d472eac54d7bde3b4fe43aaea220ff8e9","unresolved":false,"context_lines":[{"line_number":384,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":385,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":386,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":387,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":388,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":389,"context_line":"                             \u0027MechanismDriverError\u0027)"},{"line_number":390,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_243766e4","line":387,"updated":"2014-06-13 07:04:15.000000000","message":"would it make sense to assert that the network wasn\u0027t created by calling get_networks?","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"b2b149e64c07ede2a0d6582765b5a336fc986ad3","unresolved":false,"context_lines":[{"line_number":384,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":385,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":386,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":387,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":388,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":389,"context_line":"                             \u0027MechanismDriverError\u0027)"},{"line_number":390,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_bf21a69f","line":387,"in_reply_to":"1ae5cdf2_243766e4","updated":"2014-06-13 21:14:25.000000000","message":"Done","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"aa14d943499e5c3000d9eec26bb6e9efc3b817da","unresolved":false,"context_lines":[{"line_number":406,"context_line":"                req \u003d self.new_delete_request(\u0027networks\u0027,"},{"line_number":407,"context_line":"                                              network[\u0027network\u0027][\u0027id\u0027])"},{"line_number":408,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":409,"context_line":"                self.assertEqual(res.status_int, 204)"},{"line_number":410,"context_line":"                # Test if other mechanism driver was called"},{"line_number":411,"context_line":"                self.assertTrue(dnp.called)"},{"line_number":412,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_93e5cbdd","line":409,"updated":"2014-06-13 19:01:22.000000000","message":"Expecting return code 204 is not correct. Did you mean 404 (for resource not found)? I don\u0027t think that is what is returned when there is an exception.","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"b2b149e64c07ede2a0d6582765b5a336fc986ad3","unresolved":false,"context_lines":[{"line_number":406,"context_line":"                req \u003d self.new_delete_request(\u0027networks\u0027,"},{"line_number":407,"context_line":"                                              network[\u0027network\u0027][\u0027id\u0027])"},{"line_number":408,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":409,"context_line":"                self.assertEqual(res.status_int, 204)"},{"line_number":410,"context_line":"                # Test if other mechanism driver was called"},{"line_number":411,"context_line":"                self.assertTrue(dnp.called)"},{"line_number":412,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_3f89166f","line":409,"in_reply_to":"1ae5cdf2_93e5cbdd","updated":"2014-06-13 21:14:25.000000000","message":"The delete succeeds when post-commit fails.  If you think the product should return a different code or restore the object after post-commit failure, that may require a separate bug.","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"a87f123d472eac54d7bde3b4fe43aaea220ff8e9","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027a_brand_new_name\u0027}}"},{"line_number":430,"context_line":"                req \u003d self.new_update_request(\u0027networks\u0027, data, net_id)"},{"line_number":431,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":432,"context_line":"                self.assertEqual(res.status_int, 500)"},{"line_number":433,"context_line":"                error \u003d self.deserialize(self.fmt, res)"},{"line_number":434,"context_line":"                self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":435,"context_line":"                                 \u0027MechanismDriverError\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_04434a42","line":432,"updated":"2014-06-13 07:04:15.000000000","message":"Same here. Assert that the network is in the expected state by checking the result of get_networks.","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"b2b149e64c07ede2a0d6582765b5a336fc986ad3","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027a_brand_new_name\u0027}}"},{"line_number":430,"context_line":"                req \u003d self.new_update_request(\u0027networks\u0027, data, net_id)"},{"line_number":431,"context_line":"                res \u003d req.get_response(self.api)"},{"line_number":432,"context_line":"                self.assertEqual(res.status_int, 500)"},{"line_number":433,"context_line":"                error \u003d self.deserialize(self.fmt, res)"},{"line_number":434,"context_line":"                self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":435,"context_line":"                                 \u0027MechanismDriverError\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_467b83f4","line":432,"in_reply_to":"1ae5cdf2_04434a42","updated":"2014-06-13 21:14:25.000000000","message":"In this case, the code does not roll back the transaction.  Added validation that the update succeeded.","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"aa14d943499e5c3000d9eec26bb6e9efc3b817da","unresolved":false,"context_lines":[{"line_number":485,"context_line":"                    req \u003d self.new_delete_request(\u0027subnets\u0027,"},{"line_number":486,"context_line":"                                                  subnet[\u0027subnet\u0027][\u0027id\u0027])"},{"line_number":487,"context_line":"                    res \u003d req.get_response(self.api)"},{"line_number":488,"context_line":"                    self.assertEqual(res.status_int, 204)"},{"line_number":489,"context_line":"                    # Test if other mechanism driver was called"},{"line_number":490,"context_line":"                    self.assertTrue(dsp.called)"},{"line_number":491,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_5306e386","line":488,"updated":"2014-06-13 19:01:22.000000000","message":"Same as comment for line 409.","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"b2b149e64c07ede2a0d6582765b5a336fc986ad3","unresolved":false,"context_lines":[{"line_number":485,"context_line":"                    req \u003d self.new_delete_request(\u0027subnets\u0027,"},{"line_number":486,"context_line":"                                                  subnet[\u0027subnet\u0027][\u0027id\u0027])"},{"line_number":487,"context_line":"                    res \u003d req.get_response(self.api)"},{"line_number":488,"context_line":"                    self.assertEqual(res.status_int, 204)"},{"line_number":489,"context_line":"                    # Test if other mechanism driver was called"},{"line_number":490,"context_line":"                    self.assertTrue(dsp.called)"},{"line_number":491,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_5feb4212","line":488,"in_reply_to":"1ae5cdf2_5306e386","updated":"2014-06-13 21:14:25.000000000","message":"same response","commit_id":"ecf61f709c9b756850d803bb2a74bbf7db59f2a3"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"59a9d7ff4dcef5cf1cbb0d81b06df6e3c88a3181","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"import testtools"},{"line_number":18,"context_line":"import webob"},{"line_number":19,"context_line":"import uuid"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.common import exceptions as exc"},{"line_number":22,"context_line":"from neutron import context"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_dffe6d37","line":19,"updated":"2014-06-14 02:36:23.000000000","message":"alphabetical order please","commit_id":"c373702bf799a409edf864774fc31e019f5537e1"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"2c8f370c1d9298249a9ed8b67a5909bc5dd8aa9e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"import testtools"},{"line_number":18,"context_line":"import webob"},{"line_number":19,"context_line":"import uuid"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.common import exceptions as exc"},{"line_number":22,"context_line":"from neutron import context"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_b9e0b8cd","line":19,"in_reply_to":"1ae5cdf2_dffe6d37","updated":"2014-06-16 13:30:28.000000000","message":"Done","commit_id":"c373702bf799a409edf864774fc31e019f5537e1"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"af8bc5dab29dc360763bd43caab0389fe6b2f3f4","unresolved":false,"context_lines":[{"line_number":385,"context_line":"                                \u0027tenant_id\u0027: tenant_id}}"},{"line_number":386,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":387,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":388,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":389,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":390,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":391,"context_line":"                             \u0027MechanismDriverError\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_0f6f1961","line":388,"updated":"2014-06-19 00:57:09.000000000","message":"Expected value is to come first then the observed value.","commit_id":"26bb5c7e6fa51b652999d424fbd55a91790636a6"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"94f9eb9008dbd14f1f99170d42bcfa89dc48164c","unresolved":false,"context_lines":[{"line_number":385,"context_line":"                                \u0027tenant_id\u0027: tenant_id}}"},{"line_number":386,"context_line":"            req \u003d self.new_create_request(\u0027networks\u0027, data)"},{"line_number":387,"context_line":"            res \u003d req.get_response(self.api)"},{"line_number":388,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":389,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":390,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":391,"context_line":"                             \u0027MechanismDriverError\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_c4c35088","line":388,"in_reply_to":"1ae5cdf2_0f6f1961","updated":"2014-06-19 06:01:26.000000000","message":"Done","commit_id":"26bb5c7e6fa51b652999d424fbd55a91790636a6"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"af8bc5dab29dc360763bd43caab0389fe6b2f3f4","unresolved":false,"context_lines":[{"line_number":388,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":389,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":390,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":391,"context_line":"                             \u0027MechanismDriverError\u0027)"},{"line_number":392,"context_line":"            query_params \u003d \"tenant_id\u003d%s\" % tenant_id"},{"line_number":393,"context_line":"            nets \u003d self._list(\u0027networks\u0027, query_params\u003dquery_params)"},{"line_number":394,"context_line":"            self.assertFalse(nets[\u0027networks\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_4fbf61d0","line":391,"updated":"2014-06-19 00:57:09.000000000","message":"Ditto here and 20 more cases throughout the patch. Please correct.","commit_id":"26bb5c7e6fa51b652999d424fbd55a91790636a6"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"94f9eb9008dbd14f1f99170d42bcfa89dc48164c","unresolved":false,"context_lines":[{"line_number":388,"context_line":"            self.assertEqual(res.status_int, 500)"},{"line_number":389,"context_line":"            error \u003d self.deserialize(self.fmt, res)"},{"line_number":390,"context_line":"            self.assertEqual(error[\u0027NeutronError\u0027][\u0027type\u0027],"},{"line_number":391,"context_line":"                             \u0027MechanismDriverError\u0027)"},{"line_number":392,"context_line":"            query_params \u003d \"tenant_id\u003d%s\" % tenant_id"},{"line_number":393,"context_line":"            nets \u003d self._list(\u0027networks\u0027, query_params\u003dquery_params)"},{"line_number":394,"context_line":"            self.assertFalse(nets[\u0027networks\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_04ba980a","line":391,"in_reply_to":"1ae5cdf2_4fbf61d0","updated":"2014-06-19 06:01:26.000000000","message":"Done","commit_id":"26bb5c7e6fa51b652999d424fbd55a91790636a6"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"bdbb9561c256980bec61457e14e2e5816824a849","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        self.assertEqual(\u0027physnet1\u0027, network[\u0027network\u0027][pnet.PHYSICAL_NETWORK])"},{"line_number":245,"context_line":"        self.assertEqual(1, network[\u0027network\u0027][pnet.SEGMENTATION_ID])"},{"line_number":246,"context_line":"        self.assertNotIn(mpnet.SEGMENTS, network[\u0027network\u0027])"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def test_create_network_multiprovider(self):"},{"line_number":249,"context_line":"        data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":250,"context_line":"                            mpnet.SEGMENTS:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1ae5cdf2_73783f8f","line":247,"updated":"2014-06-20 19:37:48.000000000","message":"Do we really need to re-order the parameters? This seems like churn for the sake of churn.","commit_id":"ea6f380fa30a0cede464bb579a63e0932504bc40"},{"author":{"_account_id":9093,"name":"Chuck Carlino","email":"chuckjcarlino@gmail.com","username":"ChuckC"},"change_message_id":"712018ea0594af962811dae1c253703cc22eaf16","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        self.assertEqual(\u0027physnet1\u0027, network[\u0027network\u0027][pnet.PHYSICAL_NETWORK])"},{"line_number":245,"context_line":"        self.assertEqual(1, network[\u0027network\u0027][pnet.SEGMENTATION_ID])"},{"line_number":246,"context_line":"        self.assertNotIn(mpnet.SEGMENTS, network[\u0027network\u0027])"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def test_create_network_multiprovider(self):"},{"line_number":249,"context_line":"        data \u003d {\u0027network\u0027: {\u0027name\u0027: \u0027net1\u0027,"},{"line_number":250,"context_line":"                            mpnet.SEGMENTS:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1ae5cdf2_89b11c03","line":247,"in_reply_to":"1ae5cdf2_73783f8f","updated":"2014-06-20 21:30:40.000000000","message":"I felt that way when I was doing it.  I was responding to another reviewer\u0027s comment.  I don\u0027t really care.  I was imagining the potential for some code fragility with the parameters in the wrong order, so I ended up acquiescing and doing it.  Now that I have it more correct, is there a reason to put it back the way it was?  The code is, every so slightly, better this way.\n\nI don\u0027t believe there\u0027s much risk either way.","commit_id":"ea6f380fa30a0cede464bb579a63e0932504bc40"}]}
