)]}'
{"tempest/api/compute/servers/test_virtual_interfaces.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"317e77f808b48e716192990ee4b9b35ec7791d0f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            if CONF.service_available.neutron:"},{"line_number":56,"context_line":"                raise self.skipException(\u0027Listing VIFs is not implemented in \u0027"},{"line_number":57,"context_line":"                                         \u0027Nova for Neutron.\u0027)"},{"line_number":58,"context_line":"            else:"},{"line_number":59,"context_line":"                # unexpected so re-raise this"},{"line_number":60,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_83b67988","line":57,"updated":"2016-03-07 20:30:53.000000000","message":"Perhaps raise ExpectedException here - mtreinish is going to work up a patch.","commit_id":"45c4f0e8ba6d991c0dfc0dc684bfcdfa08d8c320"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7ff07ddbbb22055a90f824863ed199eace806e3d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            if CONF.service_available.neutron:"},{"line_number":56,"context_line":"                raise self.skipException(\u0027Listing VIFs is not implemented in \u0027"},{"line_number":57,"context_line":"                                         \u0027Nova for Neutron.\u0027)"},{"line_number":58,"context_line":"            else:"},{"line_number":59,"context_line":"                # unexpected so re-raise this"},{"line_number":60,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_bad4fc1f","line":57,"in_reply_to":"5aef4532_83b67988","updated":"2016-03-09 18:11:05.000000000","message":"Will do, I didn\u0027t realize you meant https://github.com/testing-cabal/testtools/blob/master/testtools/testcase.py#L985 at first.","commit_id":"45c4f0e8ba6d991c0dfc0dc684bfcdfa08d8c320"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"587f359590316646702ae4741a36a23e276f73d1","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            with testtools.ExpectedException(exceptions.BadRequest):"},{"line_number":56,"context_line":"                self.client.list_virtual_interfaces(self.server_id)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        output \u003d self.client.list_virtual_interfaces(self.server_id)"},{"line_number":59,"context_line":"        self.assertIsNotNone(output)"},{"line_number":60,"context_line":"        virt_ifaces \u003d output"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_5af7b858","line":57,"updated":"2016-03-09 18:17:50.000000000","message":"Don\u0027t you need an else here? Or to do a return after the \u0027with:\u0027 in the if statement. In the neutron case I think the if isn\u0027t going to exit successfully and then move on to the rest of the test here. (which will fail)","commit_id":"3af717b24e34076715875bb783bee19a03a084ee"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"559f31710b97a5976e8d8916b4635d4e2573cb7e","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from tempest.api.compute import base"},{"line_number":20,"context_line":"from tempest import config"},{"line_number":21,"context_line":"from tempest.lib import exceptions"},{"line_number":22,"context_line":"from tempest import test"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_cecb8f71","line":21,"updated":"2016-03-15 21:29:12.000000000","message":"nit, as a convention, can we just use the following, which you can see in many places.\n from tempest.lib import exceptions as lib_exc","commit_id":"858e7200348040f686d8877ee03787bbbc638c2b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f8c9bbf6d83942e32a43ea5b6dcacda691873c42","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from tempest.api.compute import base"},{"line_number":20,"context_line":"from tempest import config"},{"line_number":21,"context_line":"from tempest.lib import exceptions"},{"line_number":22,"context_line":"from tempest import test"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_a148d12e","line":21,"in_reply_to":"1af94dfe_cecb8f71","updated":"2016-03-16 00:43:21.000000000","message":"This is already approved so I\u0027m not going to change this right now.","commit_id":"858e7200348040f686d8877ee03787bbbc638c2b"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"3120ae786bb2976c4840ec5e3da657dcb73c6f88","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        # Positive test:Should be able to GET the virtual interfaces list"},{"line_number":50,"context_line":"        # for a given server_id"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if CONF.service_available.neutron:"},{"line_number":53,"context_line":"            # TODO(mriedem): After a microversion implements the API for"},{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            with testtools.ExpectedException(exceptions.BadRequest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_1af755f6","line":52,"updated":"2016-03-14 03:30:19.000000000","message":"Why don\u0027t you put this in skip_checks function to skip if neutron service is unavailable?","commit_id":"858e7200348040f686d8877ee03787bbbc638c2b"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"559f31710b97a5976e8d8916b4635d4e2573cb7e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        # Positive test:Should be able to GET the virtual interfaces list"},{"line_number":50,"context_line":"        # for a given server_id"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if CONF.service_available.neutron:"},{"line_number":53,"context_line":"            # TODO(mriedem): After a microversion implements the API for"},{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            with testtools.ExpectedException(exceptions.BadRequest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_eef92bca","line":52,"in_reply_to":"1af94dfe_6831930b","updated":"2016-03-15 21:29:12.000000000","message":"Thanks. I see.","commit_id":"858e7200348040f686d8877ee03787bbbc638c2b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ca9fda12f012f46d237c32f1b0ea16b00df04d38","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        # Positive test:Should be able to GET the virtual interfaces list"},{"line_number":50,"context_line":"        # for a given server_id"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        if CONF.service_available.neutron:"},{"line_number":53,"context_line":"            # TODO(mriedem): After a microversion implements the API for"},{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            with testtools.ExpectedException(exceptions.BadRequest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_6831930b","line":52,"in_reply_to":"3afc51ec_1af755f6","updated":"2016-03-15 20:51:13.000000000","message":"Because we want to run it for both nova-network and neutron, but we expect and handle the 400 in the neutron case.","commit_id":"858e7200348040f686d8877ee03787bbbc638c2b"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"559f31710b97a5976e8d8916b4635d4e2573cb7e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            # TODO(mriedem): After a microversion implements the API for"},{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            with testtools.ExpectedException(exceptions.BadRequest):"},{"line_number":56,"context_line":"                self.client.list_virtual_interfaces(self.server_id)"},{"line_number":57,"context_line":"        else:"},{"line_number":58,"context_line":"            output \u003d self.client.list_virtual_interfaces(self.server_id)"},{"line_number":59,"context_line":"            self.assertIsNotNone(output)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_2ec95379","line":56,"updated":"2016-03-15 21:29:12.000000000","message":"I think we can just use assertRaise here\n self.assertRaise(lib_exc.BadRequest, self.client.list_virtual_interfaces, self.server_id)","commit_id":"858e7200348040f686d8877ee03787bbbc638c2b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f8c9bbf6d83942e32a43ea5b6dcacda691873c42","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            # TODO(mriedem): After a microversion implements the API for"},{"line_number":54,"context_line":"            # neutron, a 400 should be a failure for nova-network and neutron."},{"line_number":55,"context_line":"            with testtools.ExpectedException(exceptions.BadRequest):"},{"line_number":56,"context_line":"                self.client.list_virtual_interfaces(self.server_id)"},{"line_number":57,"context_line":"        else:"},{"line_number":58,"context_line":"            output \u003d self.client.list_virtual_interfaces(self.server_id)"},{"line_number":59,"context_line":"            self.assertIsNotNone(output)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_415e2dea","line":56,"in_reply_to":"1af94dfe_2ec95379","updated":"2016-03-16 00:43:21.000000000","message":"No, see earlier versions of this change. We\u0027re using ExpectedException on purpose.","commit_id":"858e7200348040f686d8877ee03787bbbc638c2b"}]}
